Lines Matching refs:dir

82 addfile(Cdimg *cd, Dump *d, char *name, Direc *dir)  in addfile()  argument
87 assert((dir->mode & DMDIR) == 0); in addfile()
89 if(dir->length == 0) in addfile()
92 lblock = ltreewalkblock(&d->blockroot, dir->block); in addfile()
94 if((*lblock)->length == dir->length) in addfile()
96 fprint(2, "block %lud length %lud %s %lud %s\n", dir->block, (*lblock)->length, (*lblock)->name, in addfile()
97 dir->length, dir->name); in addfile()
101 md5cd(cd, dir->block, dir->length, md5); in addfile()
103 fprint(2, "note file %.16H %lud (%s)\n", md5, dir->length, dir->name); in addfile()
104 insertmd5(d, name, md5, dir->block, dir->length); in addfile()
136 readkids(Cdimg *cd, Direc *dir, char *(*cvt)(uchar*, int)) in readkids() argument
145 assert(dir->mode & DMDIR); in readkids()
150 nb = (dir->length+Blocksize-1) / Blocksize; in readkids()
154 Creadblock(cd, buf, dir->block + b, Blocksize); in readkids()
169 dir->child = emalloc(m*sizeof dir->child[0]); in readkids()
170 dir->nchild = n; in readkids()
174 assert(n <= dir->nchild); in readkids()
175 Creadblock(cd, buf, dir->block + b, Blocksize); in readkids()
184 assert(n < dir->nchild); in readkids()
185 dir->child[n++] = dx; in readkids()
196 freekids(Direc *dir) in freekids() argument
200 for(i=0; i<dir->nchild; i++) in freekids()
201 assert(dir->child[i].nchild == 0); in freekids()
203 free(dir->child); in freekids()
204 dir->child = nil; in freekids()
205 dir->nchild = 0; in freekids()
212 adddir(Cdimg *cd, Dump *d, Direc *dir) in adddir() argument
216 readkids(cd, dir, isostring); in adddir()
217 for(i=0; i<dir->nchild; i++) { in adddir()
218 if(dir->child[i].mode & DMDIR) in adddir()
219 adddir(cd, d, &dir->child[i]); in adddir()
221 addfile(cd, d, atom(dir->name), &dir->child[i]); in adddir()
223 freekids(dir); in adddir()
233 adddirx(Cdimg *cd, Dump *d, Direc *dir, int lev) in adddirx() argument
239 dd = *dir; in adddirx()
243 for(i=0; i<dir->nchild; i++) in adddirx()
244 adddirx(cd, d, &dir->child[i], lev+1); in adddirx()
248 dumpcd(Cdimg *cd, Direc *dir) in dumpcd() argument
254 adddirx(cd, d, dir, 0); in dumpcd()
287 createdumpdir(Direc *root, XDir *dir, char *utfname) in createdumpdir() argument
299 d = adddirec(root, utfname, dir); in createdumpdir()
302 d = adddirec(d, p, dir); in createdumpdir()
343 adddumpdir(Direc *root, ulong now, XDir *dir) in adddumpdir() argument
354 dyear = adddirec(root, buf, dir); in adddumpdir()
364 dday = adddirec(dyear, buf, dir); in adddumpdir()
411 readdumpdirs(Cdimg *cd, XDir *dir, char *(*cvt)(uchar*, int)) in readdumpdirs() argument
420 mkdirec(&root, dir); in readdumpdirs()
422 xd = *dir; in readdumpdirs()