]> wimlib.net Git - wimlib/blobdiff - src/dentry.c
dentry.{c,h}: Cleanup and fixes
[wimlib] / src / dentry.c
index 86cbd3486db08577a51c48b4ad5dcc2e1e73726d..70250a7f049b6e546fbca0dac8894e41aba9de85 100644 (file)
@@ -110,16 +110,13 @@ struct wim_dentry_on_disk {
        le64 unused_1;
        le64 unused_2;
 
-       /* The following three time fields should correspond to those gotten by
-        * calling GetFileTime() on Windows. */
 
-       /* Creation time, in 100-nanosecond intervals since January 1, 1601. */
+       /* Creation time, last access time, and last write time, in
+        * 100-nanosecond intervals since 12:00 a.m UTC January 1, 1601.  They
+        * should correspond to the times gotten by calling GetFileTime() on
+        * Windows. */
        le64 creation_time;
-
-       /* Last access time, in 100-nanosecond intervals since January 1, 1601. */
        le64 last_access_time;
-
-       /* Last write time, in 100-nanosecond intervals since January 1, 1601. */
        le64 last_write_time;
 
        /* Vaguely, the SHA-1 message digest ("hash") of the file's contents.
@@ -986,13 +983,6 @@ new_timeless_inode(void)
                inode->i_next_stream_id = 1;
                inode->i_not_rpfixed = 1;
                INIT_LIST_HEAD(&inode->i_list);
-       #ifdef WITH_FUSE
-               if (pthread_mutex_init(&inode->i_mutex, NULL) != 0) {
-                       ERROR_WITH_ERRNO("Error initializing mutex");
-                       FREE(inode);
-                       return NULL;
-               }
-       #endif
                INIT_LIST_HEAD(&inode->i_dentry);
        }
        return inode;
@@ -1134,13 +1124,11 @@ free_inode(struct wim_inode *inode)
        #ifdef WITH_FUSE
                wimlib_assert(inode->i_num_opened_fds == 0);
                FREE(inode->i_fds);
-               pthread_mutex_destroy(&inode->i_mutex);
        #endif
                /* HACK: This may instead delete the inode from i_list, but the
                 * hlist_del() behaves the same as list_del(). */
                if (!hlist_unhashed(&inode->i_hlist))
                        hlist_del(&inode->i_hlist);
-               FREE(inode->i_extracted_file);
                FREE(inode);
        }
 }
@@ -2006,8 +1994,9 @@ dentry_get_file_type_string(const struct wim_dentry *dentry)
  * Returns zero on success; nonzero on failure.
  */
 int
-read_dentry_tree(const u8 metadata_resource[], u64 metadata_resource_len,
-                struct wim_dentry *dentry)
+read_dentry_tree(const u8 * restrict metadata_resource,
+                u64 metadata_resource_len,
+                struct wim_dentry * restrict dentry)
 {
        u64 cur_offset = dentry->subdir_offset;
        struct wim_dentry *child;
@@ -2253,7 +2242,7 @@ write_dentry_tree_recursive(const struct wim_dentry *parent, u8 *p)
  * Returns pointer to the byte after the last byte we wrote.
  */
 u8 *
-write_dentry_tree(const struct wim_dentry *root, u8 *p)
+write_dentry_tree(const struct wim_dentry * restrict root, u8 * restrict p)
 {
        DEBUG("Writing dentry tree.");
        wimlib_assert(dentry_is_root(root));