URI:
       tndbdiscard.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tndbdiscard.c (436B)
       ---
            1 #include <u.h>
            2 #include <libc.h>
            3 #include <bio.h>
            4 #include <ndb.h>
            5 
            6 /* remove a from t and free it */
            7 Ndbtuple*
            8 ndbdiscard(Ndbtuple *t, Ndbtuple *a)
            9 {
           10         Ndbtuple *nt;
           11 
           12         /* unchain a */
           13         for(nt = t; nt != nil; nt = nt->entry){
           14                 if(nt->line == a)
           15                         nt->line = a->line;
           16                 if(nt->entry == a)
           17                         nt->entry = a->entry;
           18         }
           19 
           20         /* a may be start of chain */
           21         if(t == a)
           22                 t = a->entry;
           23 
           24         /* free a */
           25         a->entry = nil;
           26         ndbfree(a);
           27 
           28         return t;
           29 }