return(isdir(nxtarg(0)));
if(EQ(a, "-r"))
- return(tio(nxtarg(0), 4));
+ return(tio(nxtarg(0), AREAD));
if(EQ(a, "-w"))
- return(tio(nxtarg(0), 2));
+ return(tio(nxtarg(0), AWRITE));
if(EQ(a, "-x"))
- return(tio(nxtarg(0), 1));
+ return(tio(nxtarg(0), AEXEC));
if(EQ(a, "-e"))
- return(tio(nxtarg(0), 0));
+ return(tio(nxtarg(0), AEXIST));
if(EQ(a, "-c"))
return(0);
/* parse time */
n = 0;
+ r = 1;
while(*p){
m = strtoul(p, &p, 0);
switch(*p){
case 0:
n = m;
+ r = 0;
break;
case 'y':
m *= 12;
}
}
- r = dir->mtime + n < time(0);
+ if (r != 0)
+ n = time(0) - n;
+ r = dir->mtime < n;
free(dir);
return r;
}