1 --- cdrtools-3.00/mkisofs/write.c.orig Tue Jun 28 15:31:20 2011 |
1 # This patch is made from a diff of versions 3.00 and 3.01a01. |
2 +++ cdrtools-3.00/mkisofs/write.c Tue Jun 28 15:32:46 2011 |
2 |
3 @@ -1978,6 +1978,7 @@ |
3 --- cdrtools-3.00/mkisofs/write.c.orig 2012-11-01 01:25:32.964412979 -0700 |
|
4 +++ cdrtools-3.00/mkisofs/write.c 2012-11-01 01:25:47.946345028 -0700 |
|
5 @@ -1005,9 +1005,25 @@ |
|
6 for (i = 0, dwpnt = dw_head; i < num; i++, dwpnt = dwpnt->next) { |
|
7 s_entry = dwpnt->s_entry; |
|
8 dwpnt->extent = s_entry->starting_block = start_extent; |
|
9 - set_733((char *)s_entry->isorec.extent, start_extent); |
|
10 |
|
11 - start_extent += ISO_BLOCKS(s_entry->size); |
|
12 + if (s_entry->de_flags & MULTI_EXTENT) { |
|
13 + struct directory_entry *s_e; |
|
14 + |
|
15 + s_entry->mxroot->starting_block = start_extent; |
|
16 + set_733((char *)s_entry->mxroot->isorec.extent, |
|
17 + start_extent); |
|
18 + for (s_e = s_entry; |
|
19 + s_e && s_e->mxroot == s_entry->mxroot; |
|
20 + s_e = s_e->next) { |
|
21 + set_733((char *)s_e->isorec.extent, |
|
22 + start_extent); |
|
23 + s_entry->starting_block = start_extent; |
|
24 + start_extent += ISO_BLOCKS(s_e->size); |
|
25 + } |
|
26 + } else { |
|
27 + set_733((char *)s_entry->isorec.extent, start_extent); |
|
28 + start_extent += ISO_BLOCKS(s_entry->size); |
|
29 + } |
|
30 #ifdef DVD_VIDEO |
|
31 /* |
|
32 * Shouldn't this be done for every type of sort? Otherwise |
|
33 @@ -1978,6 +1994,7 @@ |
4 int i; |
34 int i; |
5 int s; |
35 int s; |
6 Uchar *cp; |
36 Uchar *cp; |
7 + extern char *modification_date; |
37 + extern char *modification_date; |
8 |
38 |
9 |
39 |
10 time(&begun); |
40 time(&begun); |
11 @@ -2079,7 +2080,11 @@ |
41 @@ -2079,7 +2096,11 @@ |
12 FILL_SPACE(application_data); |
42 FILL_SPACE(application_data); |
13 |
43 |
14 memcpy(vol_desc.creation_date, iso_time, 17); |
44 memcpy(vol_desc.creation_date, iso_time, 17); |
15 - memcpy(vol_desc.modification_date, iso_time, 17); |
45 - memcpy(vol_desc.modification_date, iso_time, 17); |
16 + if (modification_date == NULL) { |
46 + if (modification_date == NULL) { |