From 2606a34ba88951fc556fa4e141f344f73f8352a7 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 25 Jul 2009 18:18:05 +0000 Subject: [PATCH] Updating sorted link array before usage after image manipulations --- libisoburn/trunk/xorriso/xorriso.c | 14 +- libisoburn/trunk/xorriso/xorriso_eng.html | 23 ++- libisoburn/trunk/xorriso/xorriso_private.h | 5 +- libisoburn/trunk/xorriso/xorriso_timestamp.h | 2 +- libisoburn/trunk/xorriso/xorrisoburn.c | 193 +++++++++++++++---- 5 files changed, 193 insertions(+), 44 deletions(-) diff --git a/libisoburn/trunk/xorriso/xorriso.c b/libisoburn/trunk/xorriso/xorriso.c index 8d7795b5..486e893e 100644 --- a/libisoburn/trunk/xorriso/xorriso.c +++ b/libisoburn/trunk/xorriso/xorriso.c @@ -5419,6 +5419,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) m->hln_count= 0; m->hln_array= NULL; m->hln_targets= NULL; + m->hln_change_pending= 0; m->di_do_widen= NULL; m->di_disk_paths= NULL; m->di_iso_paths= NULL; @@ -5525,6 +5526,14 @@ int Xorriso_destroy(struct XorrisO **xorriso, int flag) } +int Xorriso_set_change_pending(struct XorrisO *xorriso, int flag) +{ + xorriso->volset_change_pending= 1; + xorriso->hln_change_pending= 1; + return(1); +} + + int Xorriso_dialog_input(struct XorrisO *xorriso, char line[], int linesize, int flag) /* @@ -12975,8 +12984,7 @@ int Xorriso_restore_sorted(struct XorrisO *xorriso, int count, { int i, ret, with_node_array= 0, hflag= 0, hret; - if(xorriso->hln_array == NULL && - !(((xorriso->ino_behavior & 16) && xorriso->do_restore_sort_lba) || + if(!(((xorriso->ino_behavior & 16) && xorriso->do_restore_sort_lba) || (xorriso->ino_behavior & 4) || (flag & 1))) { ret= Xorriso_make_hln_array(xorriso, 0); if(ret<=0) @@ -13007,7 +13015,7 @@ int Xorriso_restore_sorted(struct XorrisO *xorriso, int count, /* Allocate and fill node array */ if(xorriso->node_counter <= 0) {ret= 2; goto ex;} - ret= Xorriso_new_node_array(xorriso, xorriso->temp_mem_limit, + ret= Xorriso_new_node_array(xorriso, xorriso->temp_mem_limit, 0, !xorriso->do_restore_sort_lba); if(ret<=0) goto ex; diff --git a/libisoburn/trunk/xorriso/xorriso_eng.html b/libisoburn/trunk/xorriso/xorriso_eng.html index c0d22eef..68067eba 100644 --- a/libisoburn/trunk/xorriso/xorriso_eng.html +++ b/libisoburn/trunk/xorriso/xorriso_eng.html @@ -420,10 +420,10 @@ files or trees to disk:

Download as source code (see README):

-
xorriso-0.4.0.pl00.tar.gz +
xorriso-0.4.0.pl01.tar.gz (1260 KB).
-
(Released 28 Jun 2009)
+
(Released 20 Jul 2009)
@@ -460,6 +460,15 @@ Bug fixes towards xorriso-0.3.8.pl00:

+

+Bug fix towards xorriso-0.4.0.pl00: +

+ +

+

Enhancements towards previous stable version xorriso-0.3.8.pl00: