BSD 4_3 development
[unix-history] / usr / src / sys / conf / touch.c
CommitLineData
58f185b8
C
1#include <sys/types.h>
2#include <sys/stat.h>
3main(argc, argv)
4 int argc;
5 char **argv;
6{
7
8 argc--, argv++;
9 while (argc > 0) {
10 struct stat stb; int c, f;
11 if (stat(*argv, &stb) < 0)
12 goto bad;
13 if (chmod(*argv, stb.st_mode | 0200) < 0)
14 goto bad;
15 f = open(*argv, 2);
16 if (f < 0)
17 goto bad;
18 lseek(f, 0, 0);
19 read(f, &c, 1);
20 lseek(f, 0, 0);
21 write(f, &c, 1);
22 close(f);
23 chmod(*argv, stb.st_mode);
24 argc--, argv++;
25 continue;
26bad:
27 perror(*argv);
28 argc--, argv++;
29 continue;
30 }
31}