Lines Matching defs:dirp
326 struct direct *dirp = idesc->id_dirp;
339 if (!is_ufs2 && doinglevel2 && iswap32(dirp->d_ino) > 0 &&
340 iswap32(dirp->d_ino) < maxino) {
341 dirp->d_type = inoinfo(iswap32(dirp->d_ino))->ino_type;
349 if (dirp->d_ino != 0 && strcmp(dirp->d_name, ".") == 0) {
350 if (iswap32(dirp->d_ino) != idesc->id_number) {
353 dirp->d_ino = iswap32(idesc->id_number);
358 if (newinofmt && dirp->d_type != DT_DIR) {
361 dirp->d_type = DT_DIR;
389 if (iswap16(dirp->d_reclen) < entrysize + UFS_DIRSIZ(0, dirp, 0)) {
391 if (dirp->d_ino != 0) {
393 dirp->d_name);
398 proto.d_reclen = dirp->d_reclen;
399 memmove(dirp, &proto, (size_t)entrysize);
405 newdirp = (struct direct *)((char *)(dirp) + entrysize);
406 dirp->d_reclen = iswap16(iswap16(dirp->d_reclen) - entrysize);
407 memmove(newdirp, dirp, iswap16(dirp->d_reclen));
409 memmove(dirp, &proto, (size_t)entrysize);
412 dirp = newdirp;
439 n = UFS_DIRSIZ(0, dirp, 0);
440 if (iswap16(dirp->d_reclen) < n + entrysize)
442 proto.d_reclen = iswap16(iswap16(dirp->d_reclen) - n);
443 dirp->d_reclen = iswap16(n);
445 inoinfo(iswap32(dirp->d_ino))->ino_linkcnt--;
446 dirp = (struct direct *)((char *)(dirp) + n);
447 memset(dirp, 0, (size_t)iswap16(proto.d_reclen));
448 dirp->d_reclen = proto.d_reclen;
450 if (dirp->d_ino != 0 && strcmp(dirp->d_name, "..") == 0) {
451 inp->i_dotdot = iswap32(dirp->d_ino);
452 if (newinofmt && dirp->d_type != DT_DIR) {
454 dirp->d_type = DT_DIR;
465 if (dirp->d_reclen < entrysize + UFS_DIRSIZ(0, dirp, 0)) {
467 if (dirp->d_ino != 0) {
469 dirp->d_name);
483 proto.d_reclen = dirp->d_reclen;
484 memmove(dirp, &proto, (size_t)entrysize);
499 if (dirp->d_ino == 0) {
500 proto.d_reclen = dirp->d_reclen;
501 memmove(dirp, &proto, (size_t)entrysize);
503 newdirp = (struct direct *)((char *)(dirp) + entrysize);
504 dirp->d_reclen -= entrysize;
505 memmove(newdirp, dirp, dirp->d_reclen);
507 memmove(dirp, &proto, (size_t)entrysize);
508 if (dirp->d_ino != 0) {
510 inoinfo(dirp->d_ino)->ino_linkcnt--;
512 dirp = newdirp;
517 if (dirp->d_ino == 0)
519 if (dirp->d_namlen <= 2 &&
520 dirp->d_name[0] == '.' &&
522 if (dirp->d_namlen == 1) {
524 dirp->d_ino = 0;
531 if (dirp->d_name[1] == '.') {
533 dirp->d_ino = 0;
543 if (iswap32(dirp->d_ino) > maxino) {
544 fileerror(idesc->id_number, dirp->d_ino, "I OUT OF RANGE");
549 ((iswap32(dirp->d_ino) == UFS_WINO && dirp->d_type != DT_WHT) ||
550 (iswap32(dirp->d_ino) != UFS_WINO && dirp->d_type == DT_WHT))) {
551 fileerror(idesc->id_number, iswap32(dirp->d_ino), "BAD WHITEOUT ENTRY");
552 dirp->d_ino = iswap32(UFS_WINO);
553 dirp->d_type = DT_WHT;
560 info = inoinfo(iswap32(dirp->d_ino));
565 fileerror(idesc->id_number, iswap32(dirp->d_ino), "UNALLOCATED");
583 fileerror(idesc->id_number, iswap32(dirp->d_ino), errmsg);
586 dp = ginode(iswap32(dirp->d_ino));
594 dirp->d_ino));
599 iswap32(dirp->d_ino), iswap32(dirp->d_ino));
613 if (newinofmt && dirp->d_type != info->ino_type) {
614 fileerror(idesc->id_number, iswap32(dirp->d_ino),
616 dirp->d_type = info->ino_type;
627 info->ino_state, iswap32(dirp->d_ino));
632 dirp->d_ino = 0;