touch: Style fix
This commit is contained in:
parent
b1f750d96e
commit
72f43adc54
58
touch.c
58
touch.c
|
@ -9,13 +9,39 @@
|
||||||
|
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
static void touch(const char *);
|
|
||||||
|
|
||||||
static int aflag;
|
static int aflag;
|
||||||
static int cflag;
|
static int cflag;
|
||||||
static int mflag;
|
static int mflag;
|
||||||
static time_t t;
|
static time_t t;
|
||||||
|
|
||||||
|
static void
|
||||||
|
touch(const char *file)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
struct stat st;
|
||||||
|
struct utimbuf ut;
|
||||||
|
int r;
|
||||||
|
|
||||||
|
if ((r = stat(file, &st)) < 0) {
|
||||||
|
if (errno != ENOENT)
|
||||||
|
eprintf("stat %s:", file);
|
||||||
|
if (cflag)
|
||||||
|
return;
|
||||||
|
} else if (r == 0) {
|
||||||
|
ut.actime = aflag ? t : st.st_atime;
|
||||||
|
ut.modtime = mflag ? t : st.st_mtime;
|
||||||
|
if (utime(file, &ut) < 0)
|
||||||
|
eprintf("utime %s:", file);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((fd = open(file, O_CREAT | O_EXCL, 0644)) < 0)
|
||||||
|
eprintf("open %s:", file);
|
||||||
|
close(fd);
|
||||||
|
|
||||||
|
touch(file);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
usage(void)
|
usage(void)
|
||||||
{
|
{
|
||||||
|
@ -52,31 +78,3 @@ main(int argc, char *argv[])
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
touch(const char *file)
|
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
struct stat st;
|
|
||||||
struct utimbuf ut;
|
|
||||||
int r;
|
|
||||||
|
|
||||||
if ((r = stat(file, &st)) < 0) {
|
|
||||||
if (errno != ENOENT)
|
|
||||||
eprintf("stat %s:", file);
|
|
||||||
if (cflag)
|
|
||||||
return;
|
|
||||||
} else if (r == 0) {
|
|
||||||
ut.actime = aflag ? t : st.st_atime;
|
|
||||||
ut.modtime = mflag ? t : st.st_mtime;
|
|
||||||
if (utime(file, &ut) < 0)
|
|
||||||
eprintf("utime %s:", file);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((fd = open(file, O_CREAT | O_EXCL, 0644)) < 0)
|
|
||||||
eprintf("open %s:", file);
|
|
||||||
close(fd);
|
|
||||||
|
|
||||||
touch(file);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user