+ goto out_close_new;
+ }
+
+out_set_dos_name:
+#if 0
+ /* Set DOS (short) name if given */
+ if (dentry->short_name_len != 0) {
+ char *short_name_utf8;
+ size_t short_name_utf8_len;
+ short_name_utf8 = utf16_to_utf8(dentry->short_name,
+ dentry->short_name_len,
+ &short_name_utf8_len);
+ if (!short_name_utf8) {
+ ERROR("Out of memory");
+ ret = WIMLIB_ERR_NOMEM;
+ goto out_close_new;
+ }
+
+ if (!ni) {
+ ni = ntfs_pathname_to_inode(dir_ni->vol, NULL,
+ dentry->full_path_utf8);
+ if (!ni) {
+ ERROR_WITH_ERRNO("Failed to find inode for `%s'",
+ dentry->full_path_utf8);
+ goto out_close_dir;
+ }
+ }
+
+ DEBUG("Setting short (DOS) name of `%s' to %s",
+ dentry->full_path_utf8, short_name_utf8);
+
+ ret = ntfs_set_ntfs_dos_name(ni, dir_ni, short_name_utf8,
+ short_name_utf8_len, 0);
+ FREE(short_name_utf8);
+ if (ret != 0) {
+ ERROR_WITH_ERRNO("Could not set DOS (short) name for `%s'",
+ dentry->full_path_utf8);
+ ret = WIMLIB_ERR_NTFS_3G;
+ }
+ goto out_close_hardlink_target;