I looked the latest 9front source and found test.c have been already fixed.

thank you.

On 2013/10/01, at 20:53, erik quanstrom <quans...@quanstro.net> wrote:

> On Tue Oct  1 07:35:11 EDT 2013, aris...@ar.aichi-u.ac.jp wrote:
>> Hello,
>> 
>> Am I missing something?
>> It seems logic is inverted to me.
>> 
>> Kenji Arisawa
>> 
>> maia% ls -l
>> ...
>> --rw-rw-r-- M 323 arisawa arisawa         0 Sep 29 06:29 x
>> --rw-rw-r-- M 323 arisawa arisawa        14 Sep 28 17:50 z
>> maia% mtime x
>> 1380403777 x
>> maia% if(test z -older 1380403777) echo older
>> maia% if(! test z -older 1380403777) echo older
> 
> i assume that there is some copy paste error here?  (the 
> mtime of z is not shown.)
> 
> if not, "older" is not equivalent to "not younger than";
> x is older than y means mtime(x) < mtime(y), and not ≤.
> 
> minooka; touch x
> minooka; mtime x
> 1380627631 x
> minooka; if(test x -older 1380627631) echo older
> minooka; if(test x -older 1380627632) echo older
> older
> 
>> I have forgotten that I took up this bug in Jun this year.
>> Already fixed in distribution?
> 
> the distribution's executable is really broken.  even if the sign is wrong,
> one of the following must be true:
> 
> minooka; 9fs sources
> minooka; if(/n/sources/plan9/386/bin/test x -older 1380627630)echo older
> minooka; if(/n/sources/plan9/386/bin/test x -older 1380627631)echo older
> minooka; if(/n/sources/plan9/386/bin/test x -older 1380627632)echo older
> 
>>      r = dir->mtime + n < time(0);
>>      free(dir);
>>      return r;
> 
> i have the following, perhaps from your suggestion:
> 
>       if(rel)
>               n = time(0) - n;
>       if(n < 0)
>               r =  0;
>       else
>               r = dir->mtime < n;
> 
> - erik
> 


Reply via email to