Deprecated -hardlinks modes "start_update", "end_update" for "perform_update"

This commit is contained in:
Thomas Schmitt 2009-06-23 16:43:33 +00:00
parent d478d4ebb4
commit 4ddc39adaf
3 changed files with 36 additions and 7 deletions

View File

@ -15723,14 +15723,15 @@ int Xorriso_option_hardlinks(struct XorrisO *xorriso, char *mode, int flag)
int ret; int ret;
if(strcmp(mode, "off") == 0) { if(strcmp(mode, "off") == 0) {
Xorriso_finish_hl_update(xorriso, 0);
xorriso->ino_behavior|= 1 | 2 | 4; xorriso->ino_behavior|= 1 | 2 | 4;
xorriso->ino_behavior&= ~8; xorriso->ino_behavior&= ~8;
} else if(strcmp(mode, "on") == 0) { } else if(strcmp(mode, "on") == 0) {
xorriso->ino_behavior&= ~(1 | 2 | 4 | 8); xorriso->ino_behavior&= ~(1 | 2 | 4 | 8);
} else if(strcmp(mode, "without_update") == 0) { } else if(strcmp(mode, "without_update") == 0) {
Xorriso_finish_hl_update(xorriso, 0);
xorriso->ino_behavior&= ~(1 | 2 | 4); xorriso->ino_behavior&= ~(1 | 2 | 4);
xorriso->ino_behavior|= 8; xorriso->ino_behavior|= 8;
Xorriso_finish_hl_update(xorriso, 0);
} else if(strcmp(mode, "start_update") == 0) { } else if(strcmp(mode, "start_update") == 0) {
xorriso->ino_behavior&= ~(1 | 2 | 4 | 8); xorriso->ino_behavior&= ~(1 | 2 | 4 | 8);
ret= Xorriso_make_di_array(xorriso, 1); ret= Xorriso_make_di_array(xorriso, 1);
@ -15738,6 +15739,8 @@ int Xorriso_option_hardlinks(struct XorrisO *xorriso, char *mode, int flag)
return(ret); return(ret);
} else if(strcmp(mode, "end_update") == 0) { } else if(strcmp(mode, "end_update") == 0) {
Xorriso_finish_hl_update(xorriso, 0); Xorriso_finish_hl_update(xorriso, 0);
} else if(strcmp(mode, "perform_update") == 0) {
Xorriso_finish_hl_update(xorriso, 0);
} else if(strcmp(mode, "start_extract") == 0) { } else if(strcmp(mode, "start_extract") == 0) {
xorriso->do_restore_sort_lba= 0; xorriso->do_restore_sort_lba= 0;
xorriso->ino_behavior&= ~(1 | 2 | 4); xorriso->ino_behavior&= ~(1 | 2 | 4);
@ -16850,8 +16853,13 @@ ex:;
i= optc; i= optc;
Sfile_destroy_argv(&i, &eff_tgt_array, 0); Sfile_destroy_argv(&i, &eff_tgt_array, 0);
(*idx)= end_idx; (*idx)= end_idx;
#ifdef NIX
/* <<< */
if(made_di_array) if(made_di_array)
Xorriso_finish_hl_update(xorriso, 0); Xorriso_finish_hl_update(xorriso, 0);
#endif
if(made_hln_array) if(made_hln_array)
Xorriso_destroy_hln_array(xorriso, 0); Xorriso_destroy_hln_array(xorriso, 0);
Xorriso_opt_args(xorriso, cmd, argc, argv, *idx, &end_idx, &optc, &optv, 256); Xorriso_opt_args(xorriso, cmd, argc, argv, *idx, &end_idx, &optc, &optv, 256);
@ -18762,10 +18770,15 @@ report_outcome:;
Xorriso_info(xorriso,0); Xorriso_info(xorriso,0);
ex:; ex:;
#ifdef NIX
/* <<< */
if(made_di_array) { if(made_di_array) {
/* Dispose all-image node array sorted by isofs.di */ /* Dispose all-image node array sorted by isofs.di */
Xorriso_finish_hl_update(xorriso, 0); Xorriso_finish_hl_update(xorriso, 0);
} }
#endif
if(ret < 0) if(ret < 0)
return(ret); return(ret);
return(1); return(1);
@ -20158,15 +20171,26 @@ char *Xorriso__get_version_text(int flag)
#ifdef Xorriso_with_maiN #ifdef Xorriso_with_maiN
#ifdef Xorriso_without_subS
/* xorriso consists only of a main() stub which has an own version to match
the version of libxorriso header and runtime code.
*/
#define Xorriso_main_program_versioN "0.3.9" #define Xorriso_main_program_versioN "0.3.9"
#else /* Xorriso_without_subS */
static int yell_xorriso() /* Make sure that both version tests always match. */
#define Xorriso_main_program_versioN Xorriso_program_versioN
#endif /* ! Xorriso_without_subS */
static void yell_xorriso()
{ {
fprintf(stderr, fprintf(stderr,
"xorriso %s : RockRidge filesystem manipulator, libburnia project.\n\n", "xorriso %s : RockRidge filesystem manipulator, libburnia project.\n\n",
Xorriso_main_program_versioN); Xorriso_main_program_versioN);
return(1);
} }
@ -20214,12 +20238,13 @@ int main(int argc, char **argv)
yell_xorriso(); yell_xorriso();
/* The following functions are allowed only after this initialization */
ret= Xorriso_startup_libraries(xorriso, 0); ret= Xorriso_startup_libraries(xorriso, 0);
if(ret <= 0) if(ret <= 0)
exit(4); exit(4);
Xorriso_process_msg_queues(xorriso, 0); Xorriso_process_msg_queues(xorriso, 0);
/* Interpret startup file */ /* Interpret startup files */
ret= Xorriso_read_rc(xorriso, 0); ret= Xorriso_read_rc(xorriso, 0);
if(ret == 3) if(ret == 3)
goto end_sucessfully; goto end_sucessfully;
@ -20237,6 +20262,7 @@ int main(int argc, char **argv)
if(ret <= 0) if(ret <= 0)
exit(5); exit(5);
/* Enter dialog mode if it has been activated meanwhile */
ret= Xorriso_dialog(xorriso, 0); ret= Xorriso_dialog(xorriso, 0);
if(ret <= 0) if(ret <= 0)
exit(6); exit(6);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.06.23.133210" #define Xorriso_timestamP "2009.06.23.164351"

View File

@ -12017,6 +12017,8 @@ ex:;
} }
/* @param flag bit0= do not destroy di_array
*/
int Xorriso_finish_hl_update(struct XorrisO *xorriso, int flag) int Xorriso_finish_hl_update(struct XorrisO *xorriso, int flag)
{ {
int ret, zero= 0; int ret, zero= 0;
@ -12041,6 +12043,7 @@ int Xorriso_finish_hl_update(struct XorrisO *xorriso, int flag)
} }
ret= 1; ret= 1;
ex:; ex:;
if(!(flag & 1))
Xorriso_destroy_di_array(xorriso, 0); Xorriso_destroy_di_array(xorriso, 0);
return(ret); return(ret);
} }