Lines Matching refs:dirp

276 	struct direct *dirp = idesc->id_dirp;
287 if (dirp->d_ino > maxino)
291 if (dirp->d_ino != 0 && strcmp(dirp->d_name, ".") == 0) {
292 if (dirp->d_ino != idesc->id_number) {
294 dirp->d_ino = idesc->id_number;
298 if (dirp->d_type != DT_DIR) {
300 dirp->d_type = DT_DIR;
312 if (dirp->d_ino != 0 && strcmp(dirp->d_name, "..") != 0) {
314 dirp->d_name);
315 } else if (dirp->d_reclen < entrysize) {
317 } else if (dirp->d_reclen < 2 * entrysize) {
318 proto.d_reclen = dirp->d_reclen;
319 memmove(dirp, &proto, (size_t)entrysize);
323 n = dirp->d_reclen - entrysize;
325 memmove(dirp, &proto, (size_t)entrysize);
327 inoinfo(dirp->d_ino)->ino_linkcnt--;
328 dirp = (struct direct *)((char *)(dirp) + entrysize);
329 memset(dirp, 0, (size_t)n);
330 dirp->d_reclen = n;
344 n = DIRSIZ(0, dirp);
345 if (dirp->d_reclen < n + entrysize)
347 proto.d_reclen = dirp->d_reclen - n;
348 dirp->d_reclen = n;
350 inoinfo(dirp->d_ino)->ino_linkcnt--;
351 dirp = (struct direct *)((char *)(dirp) + n);
352 memset(dirp, 0, (size_t)proto.d_reclen);
353 dirp->d_reclen = proto.d_reclen;
355 if (dirp->d_ino != 0 && strcmp(dirp->d_name, "..") == 0) {
356 inp->i_dotdot = dirp->d_ino;
357 if (dirp->d_type != DT_DIR) {
359 dirp->d_type = DT_DIR;
365 if (dirp->d_ino != 0 && strcmp(dirp->d_name, ".") != 0) {
368 dirp->d_name);
370 } else if (dirp->d_reclen < entrysize) {
380 proto.d_reclen = dirp->d_reclen;
381 memmove(dirp, &proto, (size_t)entrysize);
386 if (dirp->d_ino != 0)
387 inoinfo(dirp->d_ino)->ino_linkcnt--;
390 if (dirp->d_ino == 0)
392 if (dirp->d_namlen <= 2 &&
393 dirp->d_name[0] == '.' &&
395 if (dirp->d_namlen == 1) {
397 dirp->d_ino = 0;
402 if (dirp->d_name[1] == '.') {
404 dirp->d_ino = 0;
412 if (dirp->d_ino > maxino) {
413 fileerror(idesc->id_number, dirp->d_ino, "I OUT OF RANGE");
415 } else if (((dirp->d_ino == WINO && dirp->d_type != DT_WHT) ||
416 (dirp->d_ino != WINO && dirp->d_type == DT_WHT))) {
417 fileerror(idesc->id_number, dirp->d_ino, "BAD WHITEOUT ENTRY");
418 dirp->d_ino = WINO;
419 dirp->d_type = DT_WHT;
424 switch (inoinfo(dirp->d_ino)->ino_state) {
428 fileerror(idesc->id_number, dirp->d_ino, "UNALLOCATED");
436 if (inoinfo(dirp->d_ino)->ino_state == FCLEAR)
445 dirp->d_ino);
447 dirname, dirp->d_ino);
451 * rmdir(dirp->d_name);
461 if (rmdir(dirp->d_name) == -1) {
472 fileerror(idesc->id_number, dirp->d_ino, errmsg);
475 dp = ginode(dirp->d_ino);
476 inoinfo(dirp->d_ino)->ino_state =
478 inoinfo(dirp->d_ino)->ino_linkcnt = DIP(dp, di_nlink);
484 inoinfo(dirp->d_ino)->ino_state = DFOUND;
488 inp = getinoinfo(dirp->d_ino);
499 if (dirp->d_type != inoinfo(dirp->d_ino)->ino_type) {
500 fileerror(idesc->id_number, dirp->d_ino,
502 dirp->d_type = inoinfo(dirp->d_ino)->ino_type;
506 inoinfo(dirp->d_ino)->ino_linkcnt--;
511 inoinfo(dirp->d_ino)->ino_state, dirp->d_ino);
516 dirp->d_ino = 0;
649 struct direct *dirp = idesc->id_dirp;
651 if (idesc->id_entryno++ < 2 || dirp->d_ino != idesc->id_parent)
653 dirp->d_ino = 0;