"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libisofs/iso1999.c" between
xorriso-1.5.2.tar.gz and xorriso-1.5.4.tar.gz

About: GNU xorriso creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is suitable for incremental data backup and for production of bootable ISO 9660 images. GNU xorriso is a statical compilation of the libraries libburn, libisofs, libisoburn, and libjte.

iso1999.c  (xorriso-1.5.2):iso1999.c  (xorriso-1.5.4)
skipping to change at line 286 skipping to change at line 286
static int static int
cmp_node(const void *f1, const void *f2) cmp_node(const void *f1, const void *f2)
{ {
Iso1999Node *f = *((Iso1999Node**)f1); Iso1999Node *f = *((Iso1999Node**)f1);
Iso1999Node *g = *((Iso1999Node**)f2); Iso1999Node *g = *((Iso1999Node**)f2);
/** /**
* TODO #00027 Follow ISO 9660:1999 specs when sorting files * TODO #00027 Follow ISO 9660:1999 specs when sorting files
* strcmp do not does exactly what ISO 9660:1999, 9.3, as characters * strcmp do not does exactly what ISO 9660:1999, 9.3, as characters
* < 0x20 " " are allowed, so name len must be taken into accout * < 0x20 " " are allowed, so name len must be taken into account
*/ */
return strcmp(f->name, g->name); return strcmp(f->name, g->name);
} }
/** /**
* Sort the entries inside an ISO 9660:1999 directory, according to * Sort the entries inside an ISO 9660:1999 directory, according to
* ISO 9660:1999, 9.3 * ISO 9660:1999, 9.3
*/ */
static static
void sort_tree(Iso1999Node *root) void sort_tree(Iso1999Node *root)
skipping to change at line 361 skipping to change at line 361
while (j + 1 < nchildren && while (j + 1 < nchildren &&
!cmp_node(children + i, children + j + 1)) { !cmp_node(children + i, children + j + 1)) {
++j; ++j;
} }
if (j == i) { if (j == i) {
/* name is unique */ /* name is unique */
continue; continue;
} }
/* /*
* A max of 7 characters is good enought, it allows handling up to * A max of 7 characters is good enough, it allows handling up to
* 9,999,999 files with same name. * 9,999,999 files with same name.
*/ */
while (digits < 8) { while (digits < 8) {
int ok, k; int ok, k;
char *dot; char *dot;
int change = 0; /* number to be written */ int change = 0; /* number to be written */
/* copy name to buffer */ /* copy name to buffer */
strcpy(full_name, children[i]->name); strcpy(full_name, children[i]->name);
skipping to change at line 922 skipping to change at line 922
size_t i, len; size_t i, len;
uint8_t *buf = NULL; uint8_t *buf = NULL;
struct ecma119_path_table_record *rec; struct ecma119_path_table_record *rec;
void (*write_int)(uint8_t*, uint32_t, int); void (*write_int)(uint8_t*, uint32_t, int);
Iso1999Node *dir; Iso1999Node *dir;
uint32_t path_table_size; uint32_t path_table_size;
int parent = 0; int parent = 0;
int ret= ISO_SUCCESS; int ret= ISO_SUCCESS;
uint8_t *zeros = NULL; uint8_t *zeros = NULL;
/* 256 is just a convenient size large enought */ /* 256 is just a convenient size large enough */
LIBISO_ALLOC_MEM(buf, uint8_t, 256); LIBISO_ALLOC_MEM(buf, uint8_t, 256);
path_table_size = 0; path_table_size = 0;
write_int = l_type ? iso_lsb : iso_msb; write_int = l_type ? iso_lsb : iso_msb;
for (i = 0; i < t->iso1999_ndirs; i++) { for (i = 0; i < t->iso1999_ndirs; i++) {
dir = pathlist[i]; dir = pathlist[i];
/* find the index of the parent in the table */ /* find the index of the parent in the table */
while ((i) && pathlist[parent] != dir->parent) { while ((i) && pathlist[parent] != dir->parent) {
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)