-older didn't work when the time wasn't relative. Notes: Mon Oct 7 17:34:18 EDT 2013 geoff done independently. Reference: /n/sources/patch/sorry/test-older Date: Sat Jun 1 23:59:06 CES 2013 Signed-off-by: quanstro@quanstro.net Reviewed-by: geoff --- /sys/src/cmd/test.c Sat Jun 1 23:59:00 2013 +++ /sys/src/cmd/test.c Sat Jun 1 23:58:58 2013 @@ -327,8 +327,8 @@ int isolder(char *pin, char *f) { - int r; - ulong n, m; + int r, rel; + long n, m; char *p = pin; Dir *dir; @@ -338,6 +338,7 @@ /* parse time */ n = 0; + rel = 0; while(*p){ m = strtoul(p, &p, 0); switch(*p){ @@ -362,13 +363,19 @@ case 's': n += m; p++; + rel = 1; break; default: synbad("bad time syntax, ", pin); } } - r = dir->mtime + n < time(0); + if(rel) + n = time(0) - n; + if(n < 0) + return 0; + r = dir->mtime < n; + free(dir); return r; }