Lines Matching refs:idesc

273 pass2check(struct inodesc *idesc)
275 struct direct *dirp = idesc->id_dirp;
288 if (idesc->id_entryno != 0)
291 if (dirp->d_ino != idesc->id_number) {
292 direrror(idesc->id_number, "BAD INODE NUMBER FOR '.'");
293 dirp->d_ino = idesc->id_number;
298 direrror(idesc->id_number, "BAD TYPE VALUE FOR '.'");
305 direrror(idesc->id_number, "MISSING '.'");
306 proto.d_ino = idesc->id_number;
325 idesc->id_entryno++;
334 if (idesc->id_entryno > 1)
336 inp = getinoinfo(idesc->id_number);
342 if (idesc->id_entryno == 0) {
348 idesc->id_entryno++;
357 direrror(idesc->id_number, "BAD TYPE VALUE FOR '..'");
365 fileerror(inp->i_parent, idesc->id_number, "MISSING '..'");
370 fileerror(inp->i_parent, idesc->id_number, "MISSING '..'");
378 fileerror(inp->i_parent, idesc->id_number, "MISSING '..'");
384 idesc->id_entryno++;
393 idesc->id_entryno >= 2) {
395 direrror(idesc->id_number, "EXTRA '.' ENTRY");
402 direrror(idesc->id_number, "EXTRA '..' ENTRY");
409 idesc->id_entryno++;
412 fileerror(idesc->id_number, dirp->d_ino, "I OUT OF RANGE");
416 fileerror(idesc->id_number, dirp->d_ino, "BAD WHITEOUT ENTRY");
425 if (idesc->id_entryno <= 2)
427 fileerror(idesc->id_number, dirp->d_ino, "UNALLOCATED");
433 if (idesc->id_entryno <= 2)
443 getpathname(dirname, idesc->id_number,
449 * setcwd(idesc->id_parent);
452 cmd.value = idesc->id_number;
467 inoinfo(idesc->id_number)->ino_linkcnt--;
471 fileerror(idesc->id_number, dirp->d_ino, errmsg);
482 if (inoinfo(idesc->id_number)->ino_state == DFOUND)
488 if (idesc->id_entryno > 2) {
490 inp->i_parent = idesc->id_number;
491 else if ((n = fix_extraneous(inp, idesc)) == 1)
499 fileerror(idesc->id_number, dirp->d_ino,
521 fix_extraneous(struct inoinfo *inp, struct inodesc *idesc)
535 dotdesc.id_number = idesc->id_dirp->d_ino;
543 * just found new name (idesc->id_number). We have five cases:
557 idesc->id_number == inp->i_parent || /* Case 2 */
558 inp->i_dotdot != idesc->id_number || /* Case 3 */
560 getpathname(newname, idesc->id_number, idesc->id_number);
563 strcat(newname, idesc->id_dirp->d_name);
570 * setcwd(idesc->id_number);
571 * unlink(idesc->id_dirp->d_name);
573 cmd.value = idesc->id_number;
579 cmd.value = (intptr_t)idesc->id_dirp->d_name;
629 inp->i_parent = idesc->id_number; /* reparent to correct dir */
641 inp->i_parent = idesc->id_number; /* reparent to correct directory */
647 deleteentry(struct inodesc *idesc)
649 struct direct *dirp = idesc->id_dirp;
651 if (idesc->id_entryno++ < 2 || dirp->d_ino != idesc->id_parent)