All manual pages added to manifest file.

This commit is contained in:
Serge Vakulenko
2015-06-22 22:44:18 -07:00
parent f462811ae9
commit 880e6639ac
106 changed files with 1499 additions and 5537 deletions
+25 -8
View File
@@ -782,13 +782,24 @@ create_link:
if (verbose > 2)
printf ("*** link inode %d to '%.*s', directory %d\n", mode, namlen, namptr, dir.number);
reclen = dirent.reclen - 8 - (dirent.namlen + 4) / 4 * 4;
dirent.reclen -= reclen;
if (verbose > 2)
printf ("*** previous entry %u-%u-%u at offset %lu\n", dirent.inum, dirent.reclen, dirent.namlen, last_offset);
if (! fs_inode_write (&dir, last_offset, (unsigned char*) &dirent, sizeof(dirent))) {
fprintf (stderr, "inode %d: write error at offset %ld\n",
dir.number, last_offset);
return 0;
c = 8 + (namlen + 4) / 4 * 4;
if (reclen >= c) {
/* Enough space */
dirent.reclen -= reclen;
if (verbose > 2)
printf ("*** previous entry %u-%u-%u at offset %lu\n",
dirent.inum, dirent.reclen, dirent.namlen, last_offset);
if (! fs_inode_write (&dir, last_offset, (unsigned char*) &dirent, sizeof(dirent))) {
fprintf (stderr, "inode %d: write error at offset %ld\n",
dir.number, last_offset);
return 0;
}
} else {
/* No space, extend directory. */
if (verbose > 2)
printf ("*** extend dir, previous entry %u-%u-%u at offset %lu\n",
dirent.inum, dirent.reclen, dirent.namlen, last_offset);
reclen = BSDFS_BSIZE;
}
offset = last_offset + dirent.reclen;
dirent.inum = mode;
@@ -803,11 +814,17 @@ create_link:
}
if (verbose > 2)
printf ("*** name '%.*s' at offset %lu\n", namlen, namptr, offset+sizeof(dirent));
if (! fs_inode_write (&dir, offset+sizeof(dirent), (unsigned char*) namptr, namlen)) {
if (! fs_inode_write (&dir, offset+sizeof(dirent), (unsigned char*) namptr, namlen) ||
! fs_inode_write (&dir, offset+sizeof(dirent)+namlen, (unsigned char*) "", 1)) {
fprintf (stderr, "inode %d: write error at offset %ld\n",
dir.number, offset+sizeof(dirent));
return 0;
}
if (dir.size % BSDFS_BSIZE) {
/* Align directory size. */
dir.size = (dir.size + BSDFS_BSIZE - 1) / BSDFS_BSIZE * BSDFS_BSIZE;
dir.dirty = 1;
}
if (! fs_inode_save (&dir, 0)) {
fprintf (stderr, "%s: cannot save directory inode\n", namptr);
return 0;