summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/mkisofs/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/mkisofs/write.c')
-rw-r--r--gnu/usr.bin/mkisofs/write.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/gnu/usr.bin/mkisofs/write.c b/gnu/usr.bin/mkisofs/write.c
index 05450c7..efe86cd 100644
--- a/gnu/usr.bin/mkisofs/write.c
+++ b/gnu/usr.bin/mkisofs/write.c
@@ -375,11 +375,7 @@ static void FDECL1(assign_file_addresses, struct directory *, dpnt){
dwpnt->name = NULL;
} else {
dwpnt->table = NULL;
- strcpy(whole_path, s_entry->filedir->whole_name);
-#ifndef VMS
- if(strlen(whole_path)) strcat(whole_path, "/");
-#endif
- strcat(whole_path, s_entry->name);
+ strcpy(whole_path, s_entry->whole_name);
dwpnt->name = strdup(whole_path);
};
dwpnt->next = NULL;
@@ -406,8 +402,15 @@ static void FDECL1(assign_file_addresses, struct directory *, dpnt){
fprintf(stderr,"Reported file size is %d extents\n", s_entry->size);
exit(1);
};
- } else
- set_733(s_entry->isorec.extent, 0);
+ } else {
+ /*
+ * This is for zero-length files. If we leave the extent 0,
+ * then we get screwed, because many readers simply drop files
+ * that have an extent of zero. Thus we leave the size 0,
+ * and just assign the extent number.
+ */
+ set_733(s_entry->isorec.extent, last_extent);
+ }
};
};
};
OpenPOWER on IntegriCloud