Changeset View
Changeset View
Standalone View
Standalone View
sbin/dump/traverse.c
Show First 20 Lines • Show All 519 Lines • ▼ Show 20 Lines | case S_IFLNK: | ||||
* Check for short symbolic link. | * Check for short symbolic link. | ||||
*/ | */ | ||||
if (DIP(dp, di_size) > 0 && | if (DIP(dp, di_size) > 0 && | ||||
DIP(dp, di_size) < sblock->fs_maxsymlinklen) { | DIP(dp, di_size) < sblock->fs_maxsymlinklen) { | ||||
spcl.c_addr[0] = 1; | spcl.c_addr[0] = 1; | ||||
spcl.c_count = 1; | spcl.c_count = 1; | ||||
added = appendextdata(dp); | added = appendextdata(dp); | ||||
writeheader(ino); | writeheader(ino); | ||||
if (sblock->fs_magic == FS_UFS1_MAGIC) | memmove(buf, DIP(dp, di_shortlink), | ||||
memmove(buf, (caddr_t)dp->dp1.di_db, | |||||
(u_long)DIP(dp, di_size)); | |||||
else | |||||
memmove(buf, (caddr_t)dp->dp2.di_db, | |||||
(u_long)DIP(dp, di_size)); | (u_long)DIP(dp, di_size)); | ||||
buf[DIP(dp, di_size)] = '\0'; | buf[DIP(dp, di_size)] = '\0'; | ||||
writerec(buf, 0); | writerec(buf, 0); | ||||
writeextdata(dp, ino, added); | writeextdata(dp, ino, added); | ||||
return; | return; | ||||
} | } | ||||
/* FALLTHROUGH */ | /* FALLTHROUGH */ | ||||
case S_IFDIR: | case S_IFDIR: | ||||
▲ Show 20 Lines • Show All 473 Lines • Show Last 20 Lines |