diff ffstools/tiffs-mkfs/output.c @ 717:178ed445021d

tiffs-mkfs: journal creation implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 23 Aug 2020 03:40:10 +0000
parents e2e4aed24522
children
line wrap: on
line diff
--- a/ffstools/tiffs-mkfs/output.c	Wed Jul 01 00:31:37 2020 +0000
+++ b/ffstools/tiffs-mkfs/output.c	Sun Aug 23 03:40:10 2020 +0000
@@ -96,7 +96,7 @@
 		size = strlen(name) + 1;
 	else
 		size = 0;
-	if (data)
+	if (datalen)
 		size += datalen + 1;
 	size = (size + 15) & ~15;
 	if (ffs_sector_size - data_fill_level < size ||
@@ -113,8 +113,9 @@
 		strcpy(dp, name);
 		dp += strlen(name) + 1;
 	}
-	if (data) {
-		bcopy(data, dp, datalen);
+	if (datalen) {
+		if (data)
+			bcopy(data, dp, datalen);
 		dp += datalen;
 		*dp++ = 0;
 	}
@@ -209,6 +210,17 @@
 }
 
 void
+create_journal()
+{
+	int ino;
+
+	ino = create_object(".journal", OBJTYPE_FILE_RO, (u_char *) 0,
+				journal_size);
+	*root.u.d.ffs_link_ptr = htole16(ino);
+	root.u.d.ffs_link_ptr = &inode_array[ino].sibling;
+}
+
+void
 finish_output()
 {
 	if (objects_in_block)