]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/replica/compactdb.c
ip/cifsd: dont return garbage in upper 32 bit of unix extension stat fields
[plan9front.git] / sys / src / cmd / replica / compactdb.c
1 /*
2  * compact a database file
3  */
4 #include "all.h"
5
6 Db *db;
7
8 void
9 usage(void)
10 {
11         fprint(2, "usage: replica/compactdb db\n");
12         exits("usage");
13 }
14
15 void
16 main(int argc, char **argv)
17 {
18         Biobuf bout;
19         Entry *e;
20
21         quotefmtinstall();
22         ARGBEGIN{
23         default:
24                 usage();
25         }ARGEND
26
27         if(argc != 1)
28                 usage();
29
30         Binit(&bout, 1, OWRITE);
31         db = opendb(argv[0]);
32         for(e = (Entry*)avlmin(db->avl); e != nil; e = (Entry*)avlnext(e))
33                 Bprint(&bout, "%q %q %luo %q %q %lud %lld\n",
34                         e->name, strcmp(e->name, e->d.name)==0 ? "-" : e->d.name, e->d.mode,
35                         e->d.uid, e->d.gid, e->d.mtime, e->d.length);
36         if(Bterm(&bout) < 0)
37                 sysfatal("writing output: %r");
38
39         exits(nil);
40 }