Replaced some large local variables by other means in xorriso/opts_i_o.c
This commit is contained in:
parent
5b1ee6d286
commit
7b32a53903
@ -402,7 +402,10 @@ int Xorriso_option_map(struct XorrisO *xorriso, char *disk_path,
|
||||
char *iso_path, int flag)
|
||||
{
|
||||
int ret;
|
||||
char eff_origin[SfileadrL], eff_dest[SfileadrL], *ipth;
|
||||
char *eff_origin= NULL, *eff_dest= NULL, *ipth;
|
||||
|
||||
Xorriso_alloc_meM(eff_origin, char, SfileadrL);
|
||||
Xorriso_alloc_meM(eff_dest, char, SfileadrL);
|
||||
|
||||
if(!(flag&2))
|
||||
Xorriso_pacifier_reset(xorriso, 0);
|
||||
@ -413,22 +416,22 @@ int Xorriso_option_map(struct XorrisO *xorriso, char *disk_path,
|
||||
if(disk_path[0]==0) {
|
||||
sprintf(xorriso->info_text, "-map: Empty disk_path given");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 1);
|
||||
return(0);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdx, disk_path, eff_origin,
|
||||
2|4);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
goto ex;
|
||||
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdi, ipth, eff_dest, 2);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
goto ex;
|
||||
ret= Xorriso_graft_in(xorriso, NULL, eff_origin, eff_dest,
|
||||
(off_t) 0, (off_t) 0, 2|(flag&32));
|
||||
if(!(flag&2))
|
||||
Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count,
|
||||
xorriso->pacifier_total, "", 1);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
goto ex;
|
||||
|
||||
if(!(flag&1)) {
|
||||
sprintf(xorriso->info_text, "Added to ISO image: %s '%s'='%s'\n",
|
||||
@ -436,7 +439,11 @@ int Xorriso_option_map(struct XorrisO *xorriso, char *disk_path,
|
||||
eff_origin);
|
||||
Xorriso_info(xorriso,0);
|
||||
}
|
||||
return(1);
|
||||
ret= 1;
|
||||
ex:;
|
||||
Xorriso_free_meM(eff_origin);
|
||||
Xorriso_free_meM(eff_dest);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
@ -453,15 +460,20 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
|
||||
{
|
||||
int ret, end_idx, optc= 0, was_failure= 1, i, fret, mode, problem_count;
|
||||
int ns_flag= 2|4, nt_flag= 2, opt_args_flag= 2, made_di_array= 0;
|
||||
char source_prefix[SfileadrL], target_prefix[SfileadrL], *cmd, **optv= NULL;
|
||||
char eff_source[SfileadrL], eff_target[SfileadrL], *source_pt, *s_wd, *t_wd;
|
||||
char sfe[5*SfileadrL], **eff_src_array= NULL, **eff_tgt_array= NULL;
|
||||
char *source_prefix= NULL, *target_prefix= NULL, *cmd, **optv= NULL;
|
||||
char *eff_source= NULL, *eff_target= NULL, *source_pt, *s_wd, *t_wd;
|
||||
char **eff_src_array= NULL, **eff_tgt_array= NULL;
|
||||
|
||||
cmd= "-map_l";
|
||||
s_wd= xorriso->wdx;
|
||||
t_wd= xorriso->wdi;
|
||||
Xorriso_pacifier_reset(xorriso, 0);
|
||||
mode= (flag>>8) & 15;
|
||||
Xorriso_alloc_meM(source_prefix, char, SfileadrL);
|
||||
Xorriso_alloc_meM(target_prefix, char, SfileadrL);
|
||||
Xorriso_alloc_meM(eff_source, char, SfileadrL);
|
||||
Xorriso_alloc_meM(eff_target, char, SfileadrL);
|
||||
|
||||
|
||||
if(mode==1)
|
||||
cmd= "-compare_l";
|
||||
@ -526,11 +538,10 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
|
||||
source_pt= eff_source;
|
||||
if(source_prefix[0]) {
|
||||
if(strncmp(source_prefix, eff_source, strlen(source_prefix))!=0) {
|
||||
sprintf(xorriso->info_text,
|
||||
"%s: disk_path %s does not begin with disk_prefix ", cmd,
|
||||
Text_shellsafe(eff_source, sfe, 0));
|
||||
Text_shellsafe(source_prefix,
|
||||
xorriso->info_text+strlen(xorriso->info_text), 0);
|
||||
sprintf(xorriso->info_text, "%s: disk_path ", cmd);
|
||||
Text_shellsafe(eff_source, xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, " does not begin with disk_prefix ");
|
||||
Text_shellsafe(source_prefix, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 1);
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
@ -596,6 +607,10 @@ ex:;
|
||||
Sfile_destroy_argv(&i, &eff_src_array, 0);
|
||||
i= optc;
|
||||
Sfile_destroy_argv(&i, &eff_tgt_array, 0);
|
||||
Xorriso_free_meM(source_prefix);
|
||||
Xorriso_free_meM(target_prefix);
|
||||
Xorriso_free_meM(eff_source);
|
||||
Xorriso_free_meM(eff_target);
|
||||
(*idx)= end_idx;
|
||||
Xorriso_opt_args(xorriso, cmd, argc, argv, *idx, &end_idx, &optc, &optv, 256);
|
||||
if(ret<=0)
|
||||
@ -766,12 +781,16 @@ int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *idx, int flag)
|
||||
{
|
||||
int i, end_idx_dummy, ret, is_dir= 0, was_failure= 0, fret;
|
||||
char sfe[5*SfileadrL], sfe2[5*SfileadrL];
|
||||
char eff_origin[SfileadrL], eff_dest[SfileadrL], dest_dir[SfileadrL];
|
||||
char leafname[SfileadrL];
|
||||
char *eff_origin= NULL, *eff_dest= NULL, *dest_dir= NULL;
|
||||
char *leafname= NULL;
|
||||
int optc= 0;
|
||||
char **optv= NULL;
|
||||
|
||||
Xorriso_alloc_meM(eff_origin, char, SfileadrL);
|
||||
Xorriso_alloc_meM(eff_dest, char, SfileadrL);
|
||||
Xorriso_alloc_meM(dest_dir, char, SfileadrL);
|
||||
Xorriso_alloc_meM(leafname, char, SfileadrL);
|
||||
|
||||
ret= Xorriso_cpmv_args(xorriso, "-mvi", argc, argv, idx,
|
||||
&optc, &optv, eff_dest, 0);
|
||||
if(ret<=0)
|
||||
@ -801,8 +820,11 @@ int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
|
||||
ret= Xorriso_rename(xorriso, NULL, eff_origin, eff_dest, 0);
|
||||
if(ret<=0 || xorriso->request_to_abort)
|
||||
goto problem_handler;
|
||||
sprintf(xorriso->info_text, "Renamed in ISO image: %s to %s\n",
|
||||
Text_shellsafe(eff_origin,sfe,0),Text_shellsafe(eff_dest,sfe2,0));
|
||||
sprintf(xorriso->info_text, "Renamed in ISO image: ");
|
||||
Text_shellsafe(eff_origin, xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, " to ");
|
||||
Text_shellsafe(eff_dest, xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, "\n");
|
||||
Xorriso_info(xorriso, 0);
|
||||
|
||||
continue; /* regular bottom of loop */
|
||||
@ -815,6 +837,10 @@ problem_handler:;
|
||||
}
|
||||
ret= !was_failure;
|
||||
ex:;
|
||||
Xorriso_free_meM(eff_origin);
|
||||
Xorriso_free_meM(eff_dest);
|
||||
Xorriso_free_meM(dest_dir);
|
||||
Xorriso_free_meM(leafname);
|
||||
Xorriso_opt_args(xorriso, "-mvi",
|
||||
argc, argv, *idx, &end_idx_dummy, &optc, &optv, 256);
|
||||
return(ret);
|
||||
@ -836,9 +862,11 @@ int Xorriso_option_no_rc(struct XorrisO *xorriso, int flag)
|
||||
int Xorriso_option_not_leaf(struct XorrisO *xorriso, char *pattern, int flag)
|
||||
{
|
||||
regex_t re;
|
||||
char regexpr[2*SfileadrL+2], sfe[5*SfileadrL];
|
||||
char *regexpr= NULL;
|
||||
int ret= 0;
|
||||
|
||||
Xorriso_alloc_meM(regexpr, char, 2 * SfileadrL + 2);
|
||||
|
||||
if(pattern[0]==0)
|
||||
{ret= 0; goto cannot_add;}
|
||||
Xorriso__bourne_to_reg(pattern, regexpr, 0);
|
||||
@ -860,13 +888,16 @@ int Xorriso_option_not_leaf(struct XorrisO *xorriso, char *pattern, int flag)
|
||||
}
|
||||
if(ret<=0) {
|
||||
cannot_add:;
|
||||
sprintf(xorriso->info_text,"Cannot add pattern: %s %s",
|
||||
(flag & 3) ? "-hide_disk_leaf" : "-not_leaf",
|
||||
Text_shellsafe(pattern, sfe, 0));
|
||||
sprintf(xorriso->info_text,"Cannot add pattern: %s ",
|
||||
(flag & 3) ? "-hide_disk_leaf" : "-not_leaf");
|
||||
Text_shellsafe(pattern, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(ret);
|
||||
goto ex;
|
||||
}
|
||||
return(1);
|
||||
ret= 1;
|
||||
ex:;
|
||||
Xorriso_free_meM(regexpr);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
@ -876,7 +907,7 @@ int Xorriso_option_not_list(struct XorrisO *xorriso, char *adr, int flag)
|
||||
{
|
||||
int ret, linecount= 0, insertcount= 0, null= 0, argc= 0, i;
|
||||
FILE *fp= NULL;
|
||||
char sfe[5*SfileadrL], **argv= NULL;
|
||||
char **argv= NULL;
|
||||
|
||||
Xorriso_pacifier_reset(xorriso, 0);
|
||||
if(adr[0]==0) {
|
||||
@ -914,12 +945,16 @@ ex:;
|
||||
fclose(fp);
|
||||
Xorriso_read_lines(xorriso, fp, &linecount, &argc, &argv, 2);
|
||||
if(ret<=0) {
|
||||
sprintf(xorriso->info_text, "Aborted reading of file %s in line number %d",
|
||||
Text_shellsafe(adr, sfe, 0), linecount);
|
||||
sprintf(xorriso->info_text, "Aborted reading of file ");
|
||||
Text_shellsafe(adr, xorriso->info_text, 1);
|
||||
sprintf(xorriso->info_text + strlen(xorriso->info_text),
|
||||
" in line number %d", linecount);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
}
|
||||
sprintf(xorriso->info_text, "Added %d exclusion list items from file %s\n",
|
||||
insertcount, Text_shellsafe(adr, sfe, 0));
|
||||
sprintf(xorriso->info_text, "Added %d exclusion list items from file ",
|
||||
insertcount);
|
||||
Text_shellsafe(adr, xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, "\n");
|
||||
Xorriso_info(xorriso,0);
|
||||
return(ret);
|
||||
}
|
||||
@ -929,14 +964,16 @@ ex:;
|
||||
int Xorriso_option_not_mgt(struct XorrisO *xorriso, char *setting, int flag)
|
||||
{
|
||||
int ret;
|
||||
char what_data[SfileadrL], *what, *what_next;
|
||||
char *what_data= NULL, *what, *what_next;
|
||||
|
||||
Xorriso_alloc_meM(what_data, char, SfileadrL);
|
||||
|
||||
if(Sfile_str(what_data, setting, 0)<=0) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-not_mgt: setting string is much too long (%d)",
|
||||
(int) strlen(setting));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
for(what= what_data; what!=NULL; what= what_next) {
|
||||
what_next= strchr(what, ':');
|
||||
@ -952,7 +989,7 @@ int Xorriso_option_not_mgt(struct XorrisO *xorriso, char *setting, int flag)
|
||||
ret= Exclusions_new(&(xorriso->disk_exclusions), 0);
|
||||
if(ret<=0) {
|
||||
Xorriso_no_malloc_memory(xorriso, NULL, 0);
|
||||
return(ret);
|
||||
goto ex;
|
||||
}
|
||||
} else if(strcmp(what, "on")==0) {
|
||||
xorriso->disk_excl_mode|= 1;
|
||||
@ -973,10 +1010,13 @@ int Xorriso_option_not_mgt(struct XorrisO *xorriso, char *setting, int flag)
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "-not_mgt: unknown setting '%s'", what);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
}
|
||||
return(1);
|
||||
ret= 1;
|
||||
ex:;
|
||||
Xorriso_free_meM(what_data);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
@ -989,19 +1029,20 @@ int Xorriso_option_not_mgt(struct XorrisO *xorriso, char *setting, int flag)
|
||||
int Xorriso_option_not_paths(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *idx, int flag)
|
||||
{
|
||||
int ret, end_idx, num_descr, dummy, optc= 0, i;
|
||||
char **descr= NULL, **optv= NULL, sfe[5*SfileadrL], eff_path[SfileadrL];
|
||||
|
||||
int ret, end_idx, num_descr= 0, dummy, optc= 0, i;
|
||||
char **descr= NULL, **optv= NULL, *eff_path= NULL;
|
||||
|
||||
end_idx= Xorriso_end_idx(xorriso, argc, argv, *idx,
|
||||
(xorriso->do_disk_pattern == 1 || (flag & 4)) | 2);
|
||||
if(end_idx<=0)
|
||||
return(end_idx);
|
||||
{ret= end_idx; goto ex;}
|
||||
|
||||
num_descr= end_idx - *idx;
|
||||
if(num_descr<=0)
|
||||
{ret= 1; goto ex;}
|
||||
|
||||
/* produce absolute patterns */
|
||||
Xorriso_alloc_meM(eff_path, char, SfileadrL);
|
||||
descr= TSOB_FELD(char *, num_descr);
|
||||
if(descr==NULL) {
|
||||
no_memory:;
|
||||
@ -1032,10 +1073,11 @@ no_memory:;
|
||||
if(ret<=0) {
|
||||
no_hide:;
|
||||
sprintf(xorriso->info_text,
|
||||
"Cannot add path list: -hide_disk_paths %s %s%s %s",
|
||||
Xorriso__hide_mode_text(flag & 3, 0),
|
||||
Text_shellsafe(argv[*idx], sfe, 0), (num_descr>1 ? " ..." : ""),
|
||||
xorriso->list_delimiter);
|
||||
"Cannot add path list: -hide_disk_paths %s ",
|
||||
Xorriso__hide_mode_text(flag & 3, 0));
|
||||
Text_shellsafe(argv[*idx], xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, num_descr > 1 ? " ... " : " ");
|
||||
strcat(xorriso->info_text, xorriso->list_delimiter);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
goto ex;
|
||||
}
|
||||
@ -1050,9 +1092,10 @@ no_hide:;
|
||||
ret= Exclusions_add_not_paths(xorriso->disk_exclusions,
|
||||
num_descr, descr, optc, optv, 0);
|
||||
if(ret<=0) {
|
||||
sprintf(xorriso->info_text,"Cannot add path list: -not_paths %s%s %s",
|
||||
Text_shellsafe(argv[*idx], sfe, 0), (num_descr>1 ? " ..." : ""),
|
||||
xorriso->list_delimiter);
|
||||
sprintf(xorriso->info_text,"Cannot add path list: -not_paths ");
|
||||
Text_shellsafe(argv[*idx], xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, num_descr > 1 ? " ... " : " ");
|
||||
strcat(xorriso->info_text, xorriso->list_delimiter);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
}
|
||||
}
|
||||
@ -1067,6 +1110,7 @@ ex:;
|
||||
free((char *) descr);
|
||||
descr= NULL;
|
||||
}
|
||||
Xorriso_free_meM(eff_path);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
@ -1085,7 +1129,6 @@ return:
|
||||
{
|
||||
int ret,linecount= 0, argc= 0, was_failure= 0, fret;
|
||||
FILE *fp= NULL;
|
||||
char shellsafe[5*SfileadrL];
|
||||
char **argv= NULL;
|
||||
int linec= 0;
|
||||
char *line= NULL, **linev= NULL;
|
||||
@ -1095,10 +1138,10 @@ return:
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
return(0);
|
||||
}
|
||||
Text_shellsafe(adr,shellsafe,0);
|
||||
if(xorriso->is_dialog) {
|
||||
sprintf(xorriso->info_text,"+ performing command lines from file %s :\n",
|
||||
shellsafe);
|
||||
sprintf(xorriso->info_text,"+ performing command lines from file ");
|
||||
Text_shellsafe(adr, xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, " :\n");
|
||||
Xorriso_info(xorriso,1);
|
||||
}
|
||||
ret= Xorriso_afile_fopen(xorriso, adr, "rb", &fp, 0);
|
||||
@ -1153,8 +1196,9 @@ ex:;
|
||||
fclose(fp);
|
||||
if(ret<=0) {
|
||||
sprintf(xorriso->info_text,
|
||||
"error triggered by line %d of file:\n %s\n",
|
||||
linecount,shellsafe);
|
||||
"error triggered by line %d of file:\n ", linecount);
|
||||
Text_shellsafe(adr, xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, "\n");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 1);
|
||||
}
|
||||
if(ret!=1)
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2011.05.05.122855"
|
||||
#define Xorriso_timestamP "2011.05.05.163832"
|
||||
|
Loading…
Reference in New Issue
Block a user