Commit Graph

398 Commits

Author SHA1 Message Date
Vreixo Formoso
a2645cbf40 Expose several tree options, to control recursive dir addition. 2007-12-29 17:15:24 +01:00
Vreixo Formoso
501275279d Change recOpts in Image, it can be part of the Image struct, not a ptr. 2007-12-29 16:49:04 +01:00
Vreixo Formoso
71cd3ccb89 Check access to file contents before adding it to public iso tree. 2007-12-29 16:34:17 +01:00
Vreixo Formoso
5c22069d19 Add function to check if we have access to IsoFileSource contents. 2007-12-29 16:30:13 +01:00
Vreixo Formoso
c915c6e3f4 Add a function to identify a Stream, for user notification. 2007-12-29 01:58:42 +01:00
Vreixo Formoso
5b856cf40b More RR unit tests. 2007-12-29 01:40:40 +01:00
Vreixo Formoso
26a04559c7 Some fixes to memory leak bugs. 2007-12-28 22:45:56 +01:00
Vreixo Formoso
4c9d83f051 Define code style formatter for eclipse and apply it to source. 2007-12-28 22:10:17 +01:00
Vreixo Formoso
1ecb735e7c Improve eclipse project configuration to deal with CDT 4.0. 2007-12-28 17:39:49 +01:00
Vreixo Formoso
9a90afcf69 Support for setting an output charset for RR NM entries.
It will default to input charset (i.e. the locale charset for now). 
Names will be stored internally in that locale charset. Note that input 
charset musn't be changed by user. Instead, we can provide an input 
charset property to IsoFilesystem implementations.
2007-12-28 00:20:02 +01:00
Vreixo Formoso
6c7c54af93 Fix bug in strconv, take care about the end of string NULL character. 2007-12-28 00:18:49 +01:00
Vreixo Formoso
c3ded11773 Util function to convert string charset. 2007-12-27 21:11:29 +01:00
Vreixo Formoso
1e4851792b First step to input/output charset handling. 2007-12-27 18:55:47 +01:00
Vreixo Formoso
a8636eaa60 Support for setting default modes for files and dirs. 2007-12-27 18:10:14 +01:00
Vreixo Formoso
941e2022e8 Expose RockRidge option. 2007-12-27 10:43:06 +01:00
Vreixo Formoso
c9957cb25e Some unit test for RR/SUSP entries generation and size calculation. 2007-12-27 00:45:44 +01:00
Vreixo Formoso
dd97f67ee4 Add functions to read timestamps from ISO images. 2007-12-27 00:29:12 +01:00
Vreixo Formoso
aae230a321 Add util functions to deal with ISO types. 2007-12-27 00:19:09 +01:00
Vreixo Formoso
bf51fba3bc Ensure ce is set to 0 at the beginning of calc size. 2007-12-26 19:05:06 +01:00
Vreixo Formoso
ddd703e7c4 Fix several bugs related to RR SL/NM fields (PT 2 :). 2007-12-26 18:19:00 +01:00
Vreixo Formoso
5f6b5fd930 Guard against wrong POSIX filenames in node. 2007-12-26 16:34:07 +01:00
Vreixo Formoso
6509134411 Fix bug with RR NM and SL entries. 2007-12-26 12:48:48 +01:00
Vreixo Formoso
49344b3ca9 Fix bug in path table size computation. 2007-12-25 23:33:37 +01:00
Vreixo Formoso
d954957d83 If needed, add version number to symlinks and special files too. 2007-12-25 18:59:20 +01:00
Vreixo Formoso
bf0c1dd219 Add nlink and ino fields. No true usage for now. 2007-12-25 18:51:00 +01:00
Vreixo Formoso
f8f2dcb6b0 RockRidge support, now RR/SUSP entries are correctly written.
This also fix a little bug, ensuring SP is written first to the "." 
entry of the directory record.
2007-12-25 18:35:10 +01:00
Vreixo Formoso
54038ec54b Functions to add RR/SUSP entries. Fix little bugs. 2007-12-25 17:53:17 +01:00
Vreixo Formoso
c3af3553df Define functions to generate and write the RR/SUSP fields. 2007-12-24 16:29:57 +01:00
Vreixo Formoso
778e39ba3c Take care about the RR entries when computing the size, and cache it.
When computing the size of the directory structures, take care about the size
taken by the RR/SUSP fields. Also, cache that size, otherwise we need to do
this computation several times and it is ugly, because the CE entries need to 
know where the Continuation Area will be stored.
2007-12-24 14:24:09 +01:00
Vreixo Formoso
98b2dc2658 Take into account that System Use Field may be padded. 2007-12-24 14:04:15 +01:00
Vreixo Formoso
d48c553f40 Implement function to compute the size needed for RR field. 2007-12-24 04:31:15 +01:00
Vreixo Formoso
9de0be2602 Guard in public API agains bad names or link destinations. 2007-12-24 04:20:29 +01:00
Vreixo Formoso
227b17f251 Store a pointer to the real parent in reparent dirs. 2007-12-23 17:41:21 +01:00
Vreixo Formoso
811655a9a1 Mangle file names inside root directory after reorder the tree. 2007-12-23 17:19:07 +01:00
Vreixo Formoso
041858360a Handle reallocation of directories. 2007-12-23 17:11:32 +01:00
Vreixo Formoso
ca1385cce1 Begin RR support. Symlinks and Special files added to low level tree. 2007-12-23 16:16:26 +01:00
Vreixo Formoso
b8aa48038b Minor changes. 2007-12-23 15:39:41 +01:00
Vreixo Formoso
002a832ac3 Minor changes. 2007-12-23 02:58:54 +01:00
Vreixo Formoso
6154fb1f0a Replace the pipe with the ring buffer. 2007-12-23 02:46:35 +01:00
Vreixo Formoso
94e687d9d3 Add a ring buffer implementation.
This is intented to replace the pipe between the writer and reader 
threads. That way we can have a much better control of cancelation 
situations. Still to be optimized.
2007-12-23 02:24:21 +01:00
Vreixo Formoso
9ec475a900 Change iso name conversion functions back to old style. 2007-12-22 20:49:30 +01:00
Vreixo Formoso
9e9c077c6e Minimize charset conversion errors, ignoring when we can't do better.
If a file name is encoded in a different encoding than default input, current
implementation make image generation to be cancelled. As this can happen quite
frequent, due to files from discs or Windows partitions incorrectly mounted,
the best we can do is just ignore this, replacing the wrong character with a
'_'.
2007-12-22 19:44:02 +01:00
Vreixo Formoso
de3c4e4962 Little demo program to test image generation. 2007-12-22 17:09:49 +01:00
Vreixo Formoso
35ef22cdd7 Implement ECMA-119 burn_source and writer thread handling.
At this time, nglibisofs is able to output an image!! Note that communication
between writer and read thread is done via a pipe. That will be replaced by a
ring buffer in the near future.
2007-12-22 17:09:28 +01:00
Vreixo Formoso
2ab23693db Replace path table size computation by a recursive version.
The recursive version wastes less memory, as it doesn't need the path table
array.
2007-12-22 16:02:29 +01:00
Vreixo Formoso
d07fed1a4c Add write function. Fix bug in PVD writing and dir. record len computation. 2007-12-22 14:45:00 +01:00
Vreixo Formoso
42731f4135 Fix bug in create tree, to propertly handle ignored files.
Due to a bug, when a file was ignored (for example, a dir whose deep 
level was greater than 8), all its parents where ignored, what causes 
root to be ignored!
2007-12-22 14:32:31 +01:00
Vreixo Formoso
5cf2980c9c Append version number to file ids. 2007-12-21 23:08:21 +01:00
Vreixo Formoso
2fd3195747 Write the path tables on the ISO structure. 2007-12-21 22:53:48 +01:00
Vreixo Formoso
31ee89c47b Code to write directory structure of the ECMA-119 tree. 2007-12-21 00:35:43 +01:00