hello

thank you very much  Erik, I'll look at that code today night, i hope to see 
the light soon ☺

gabi

> While understanding how refs work inside nupas, i decided to try to implement 
> the same function nupas has to find mailbox references in acid langauge, so i 
> did:
> 
> defn findmboxrefs(mb,fids) {
>       local f, refs;
>       f=fids;
>       while f!=0 do {
>               print("f=", f\X,"\n");
>               if f->mb==mb then
>                       refs++;
>               print("f->mb=", f->mb\X,"       =?      mb=",mb\X,"\n");
>               f=f->next;
>       }
>       print("refs ==", refs,"\n");
> }

first, i want to complement you on a fine use of acid.
very nice.

> 
> using a Broken nupas (broked by an assert call), i got this:
> 
> acid: findmboxrefs(*checkmboxrefs:mb,fids);
> f=0x0003a090
> f->mb=0x00000000      =?      mb=0x0004a468
> f=0x0004bf68
> f->mb=0x8d1c2444      =?      mb=0x0004a468
> f=0x89ffffe4
> <stdin>:75: (error) indir: can't read address 0x89ffffe4: bad arg in system 
> call

your assmption that each fid has a mailbox is wrong.
see rattach() and sanefid().  they encode the rules.

- erik



Reply via email to