author | Phi Tran <Phi.N.Tran@Oracle.COM> |
Wed, 05 Dec 2012 16:42:34 -0800 | |
changeset 1072 | 75ddf7807870 |
parent 356 | cc77dce0ea27 |
permissions | -rw-r--r-- |
1072
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
1 |
# This patch is made from a diff of versions 3.00 and 3.01a01. |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
2 |
|
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
3 |
--- cdrtools-3.00/mkisofs/write.c.orig 2012-11-01 01:25:32.964412979 -0700 |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
4 |
+++ cdrtools-3.00/mkisofs/write.c 2012-11-01 01:25:47.946345028 -0700 |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
5 |
@@ -1005,9 +1005,25 @@ |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
6 |
for (i = 0, dwpnt = dw_head; i < num; i++, dwpnt = dwpnt->next) { |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
7 |
s_entry = dwpnt->s_entry; |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
8 |
dwpnt->extent = s_entry->starting_block = start_extent; |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
9 |
- set_733((char *)s_entry->isorec.extent, start_extent); |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
10 |
|
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
11 |
- start_extent += ISO_BLOCKS(s_entry->size); |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
12 |
+ if (s_entry->de_flags & MULTI_EXTENT) { |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
13 |
+ struct directory_entry *s_e; |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
14 |
+ |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
15 |
+ s_entry->mxroot->starting_block = start_extent; |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
16 |
+ set_733((char *)s_entry->mxroot->isorec.extent, |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
17 |
+ start_extent); |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
18 |
+ for (s_e = s_entry; |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
19 |
+ s_e && s_e->mxroot == s_entry->mxroot; |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
20 |
+ s_e = s_e->next) { |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
21 |
+ set_733((char *)s_e->isorec.extent, |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
22 |
+ start_extent); |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
23 |
+ s_entry->starting_block = start_extent; |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
24 |
+ start_extent += ISO_BLOCKS(s_e->size); |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
25 |
+ } |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
26 |
+ } else { |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
27 |
+ set_733((char *)s_entry->isorec.extent, start_extent); |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
28 |
+ start_extent += ISO_BLOCKS(s_entry->size); |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
29 |
+ } |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
30 |
#ifdef DVD_VIDEO |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
31 |
/* |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
32 |
* Shouldn't this be done for every type of sort? Otherwise |
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
33 |
@@ -1978,6 +1994,7 @@ |
356
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
34 |
int i; |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
35 |
int s; |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
36 |
Uchar *cp; |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
37 |
+ extern char *modification_date; |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
38 |
|
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
39 |
|
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
40 |
time(&begun); |
1072
75ddf7807870
15823617 SUNBT7205379 fix mkisofs bug related to files larger then 4 GB
Phi Tran <Phi.N.Tran@Oracle.COM>
parents:
356
diff
changeset
|
41 |
@@ -2079,7 +2096,11 @@ |
356
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
42 |
FILL_SPACE(application_data); |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
43 |
|
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
44 |
memcpy(vol_desc.creation_date, iso_time, 17); |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
45 |
- memcpy(vol_desc.modification_date, iso_time, 17); |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
46 |
+ if (modification_date == NULL) { |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
47 |
+ memcpy(vol_desc.modification_date, iso_time, 17); |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
48 |
+ } else { |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
49 |
+ memcpy(vol_desc.modification_date, modification_date, 17); |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
50 |
+ } |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
51 |
memcpy(vol_desc.expiration_date, "0000000000000000", 17); |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
52 |
memcpy(vol_desc.effective_date, iso_time, 17); |
cc77dce0ea27
PSARC/2011/154 mkisofs enhancements
Phi Tran <Phi.Tran@Sun.COM>
parents:
diff
changeset
|
53 |