Diagnose bad times. Thanks to Uriel.
[rsc] --rw-rw-r-- M 840072 glenda sys 960 Feb 12 10:28 sys/src/cmd/touch.c
/n/sourcesdump/2006/0212/plan9/sys/src/cmd/touch.c:14,19 -
/n/sourcesdump/2006/0213/plan9/sys/src/cmd/touch.c:14,20
void
main(int argc, char **argv)
{
+ char *t, *s;
int nocreate = 0;
int status = 0;
/n/sourcesdump/2006/0212/plan9/sys/src/cmd/touch.c:20,26 -
/n/sourcesdump/2006/0213/plan9/sys/src/cmd/touch.c:21,30
now = time(0);
ARGBEGIN{
case 't':
- now = strtoul(EARGF(usage()), 0, 0);
+ t = EARGF(usage());
+ now = strtoul(t, &s, 0);
+ if(s == t || *s != '\0')
+ usage();
break;
case 'c':
nocreate = 1;
/n/sourcesdump/2006/0212/plan9/sys/src/cmd/touch.c:51,57 -
/n/sourcesdump/2006/0213/plan9/sys/src/cmd/touch.c:55,61
fprint(2, "touch: %s: cannot wstat: %r\n", name);
return 1;
}
- if ((fd = create(name, OREAD|OEXCL, 0666)) < 0) {
+ if((fd = create(name, OREAD|OEXCL, 0666)) < 0){
fprint(2, "touch: %s: cannot create: %r\n", name);
return 1;
}
[rsc] --rw-rw-r-- M 840072 glenda sys 960 Feb 12 10:28 sys/src/cmd/touch.c
|