]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libndb/ndbdedup.c
games/nes: workaround for truncated chr
[plan9front.git] / sys / src / libndb / ndbdedup.c
1 #include <u.h>
2 #include <libc.h>
3 #include <bio.h>
4 #include <ndb.h>
5
6 /*
7  *  remove duplicates
8  */
9 Ndbtuple*
10 ndbdedup(Ndbtuple *t)
11 {
12         Ndbtuple *nt, *last, *tt;
13
14         for(nt = t; nt != nil; nt = nt->entry){
15                 last = nt;
16                 for(tt = nt->entry; tt != nil; tt = last->entry){
17                         if(strcmp(nt->attr, tt->attr) != 0
18                         || strcmp(nt->val, tt->val) != 0){
19                                 last = tt;
20                                 continue;
21                         }
22                         if(last->line == tt)
23                                 last->line = tt->line;
24                         last->entry = tt->entry;
25                         tt->entry = nil;
26                         ndbfree(tt);
27                 }
28         }
29         return t;
30 }