]> wimlib.net Git - wimlib/blobdiff - src/resource.c
wimfs_link(), wimfs_symlink(), symlink fixes
[wimlib] / src / resource.c
index a1268fbf8108f97898e402141b8e57916eb42806..731bd1c0c3ebb258cbd8462b33ae1aaf5456ab79 100644 (file)
@@ -1013,7 +1013,7 @@ int read_metadata_resource(FILE *fp, int wim_ctype, struct image_metadata *imd)
        imd->root_dentry   = dentry;
        goto out_free_buf;
 out_free_lgt:
-       free_link_group_table(sgt);
+       free_link_group_table(lgt);
 out_free_dentry_tree:
        free_dentry_tree(dentry, NULL, false);
 out_free_security_data:
@@ -1106,12 +1106,11 @@ static int write_file_resource(WIMStruct *w, const u8 hash[])
        /* Get the lookup entry for the file resource. */
        struct lookup_table_entry *lte;
        
-       lte = lookup_resource(w->lookup_table, hash);
+       lte = __lookup_resource(w->lookup_table, hash);
        if (!lte)
                return 0;
 
-       /* No need to write file resources twice.  (This indicates file
-        * resources that are part of a hard link set.) */
+       /* No need to write file resources twice. */
        if (++lte->out_refcnt != 1)
                return 0;
 
@@ -1144,8 +1143,8 @@ static int write_file_resource(WIMStruct *w, const u8 hash[])
 
                len = lte->resource_entry.original_size;
 
-               recompress_resource(in_fp, lte->symlink_buf, len, len, 0,
-                                   0, out_fp, out_wim_ctype, &new_size);
+               ret = recompress_resource(NULL, lte->symlink_buf, len, len, 0,
+                                         0, out_fp, out_wim_ctype, &new_size);
                output_res_entry->size = new_size;
                output_res_entry->original_size = len;
                output_res_entry->offset = offset;