Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/makefs/ffs.c
Show First 20 Lines • Show All 698 Lines • ▼ Show 20 Lines | if (cur == root) { /* "."; write dirbuf */ | ||||
dinp->di_size = dbufp->size; | dinp->di_size = dbufp->size; | ||||
} else if (S_ISBLK(cur->type) || S_ISCHR(cur->type)) { | } else if (S_ISBLK(cur->type) || S_ISCHR(cur->type)) { | ||||
dinp->di_size = 0; /* a device */ | dinp->di_size = 0; /* a device */ | ||||
dinp->di_rdev = | dinp->di_rdev = | ||||
ufs_rw32(cur->inode->st.st_rdev, fsopts->needswap); | ufs_rw32(cur->inode->st.st_rdev, fsopts->needswap); | ||||
} else if (S_ISLNK(cur->type)) { /* symlink */ | } else if (S_ISLNK(cur->type)) { /* symlink */ | ||||
slen = strlen(cur->symlink); | slen = strlen(cur->symlink); | ||||
if (slen < UFS1_MAXSYMLINKLEN) { /* short link */ | if (slen < UFS1_MAXSYMLINKLEN) { /* short link */ | ||||
memcpy(dinp->di_db, cur->symlink, slen); | memcpy(dinp->di_shortlink, cur->symlink, slen); | ||||
} else | } else | ||||
membuf = cur->symlink; | membuf = cur->symlink; | ||||
dinp->di_size = slen; | dinp->di_size = slen; | ||||
} | } | ||||
return membuf; | return membuf; | ||||
} | } | ||||
static void * | static void * | ||||
▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | if (cur == root) { /* "."; write dirbuf */ | ||||
dinp->di_size = dbufp->size; | dinp->di_size = dbufp->size; | ||||
} else if (S_ISBLK(cur->type) || S_ISCHR(cur->type)) { | } else if (S_ISBLK(cur->type) || S_ISCHR(cur->type)) { | ||||
dinp->di_size = 0; /* a device */ | dinp->di_size = 0; /* a device */ | ||||
dinp->di_rdev = | dinp->di_rdev = | ||||
ufs_rw64(cur->inode->st.st_rdev, fsopts->needswap); | ufs_rw64(cur->inode->st.st_rdev, fsopts->needswap); | ||||
} else if (S_ISLNK(cur->type)) { /* symlink */ | } else if (S_ISLNK(cur->type)) { /* symlink */ | ||||
slen = strlen(cur->symlink); | slen = strlen(cur->symlink); | ||||
if (slen < UFS2_MAXSYMLINKLEN) { /* short link */ | if (slen < UFS2_MAXSYMLINKLEN) { /* short link */ | ||||
memcpy(dinp->di_db, cur->symlink, slen); | memcpy(dinp->di_shortlink, cur->symlink, slen); | ||||
} else | } else | ||||
membuf = cur->symlink; | membuf = cur->symlink; | ||||
dinp->di_size = slen; | dinp->di_size = slen; | ||||
} | } | ||||
return membuf; | return membuf; | ||||
} | } | ||||
static int | static int | ||||
▲ Show 20 Lines • Show All 421 Lines • Show Last 20 Lines |