Implemented option -path-list
This commit is contained in:
parent
64bf184789
commit
9cfdd5b1f3
@ -3099,6 +3099,7 @@ int Xorriso_option_abort_on(struct XorrisO *xorriso, char *severity, int flag)
|
|||||||
|
|
||||||
|
|
||||||
/* Option -add */
|
/* Option -add */
|
||||||
|
/* @param flag bit0=do not report the added item */
|
||||||
int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
|
int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
|
||||||
int *idx, int flag)
|
int *idx, int flag)
|
||||||
{
|
{
|
||||||
@ -3143,7 +3144,8 @@ int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
|
|||||||
goto ex;
|
goto ex;
|
||||||
sprintf(xorriso->info_text, "Added to ISO image: %s '%s'='%s'\n",
|
sprintf(xorriso->info_text, "Added to ISO image: %s '%s'='%s'\n",
|
||||||
(ret>1 ? "directory" : "file"), target, source);
|
(ret>1 ? "directory" : "file"), target, source);
|
||||||
Xorriso_info(xorriso, 0);
|
if(!(flag&1))
|
||||||
|
Xorriso_info(xorriso, 0);
|
||||||
}
|
}
|
||||||
ret= 1;
|
ret= 1;
|
||||||
ex:;
|
ex:;
|
||||||
@ -4219,11 +4221,46 @@ int Xorriso_option_page(struct XorrisO *xorriso, int len, int width, int flag)
|
|||||||
/* Option -path-list */
|
/* Option -path-list */
|
||||||
int Xorriso_option_path_list(struct XorrisO *xorriso, char *adr, int flag)
|
int Xorriso_option_path_list(struct XorrisO *xorriso, char *adr, int flag)
|
||||||
{
|
{
|
||||||
|
int ret,linecount= 0, insertcount= 0, null= 0;
|
||||||
fprintf(stderr, ">>> XORRISO : read pathspecs from %s\n", adr);
|
FILE *fp= NULL;
|
||||||
fprintf(stderr, ">>> LIBISOFS : insert pathspecs into ISO tree\n");
|
char *argpt, sfe[4*SfileadrL],line[SfileadrL];
|
||||||
|
|
||||||
return(1);
|
if(adr[0]==0) {
|
||||||
|
sprintf(xorriso->info_text,"Empty file name given with -path-list");
|
||||||
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
fp= Afile_fopen(adr,"rb",((!!xorriso->packet_output)<<6));
|
||||||
|
if(fp==NULL)
|
||||||
|
return(0);
|
||||||
|
while(1) {
|
||||||
|
if(Sfile_fgets(line,sizeof(line),fp)==NULL) {
|
||||||
|
ret= 1;
|
||||||
|
if(ferror(fp))
|
||||||
|
ret= 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
linecount++;
|
||||||
|
if(line[0]==0)
|
||||||
|
continue;
|
||||||
|
argpt= line;
|
||||||
|
null= 0;
|
||||||
|
ret= Xorriso_option_add(xorriso, 1, &argpt, &null, 1);
|
||||||
|
if(ret<=0)
|
||||||
|
goto ex;
|
||||||
|
insertcount++;
|
||||||
|
}
|
||||||
|
ret= 1;
|
||||||
|
ex:;
|
||||||
|
if(ret<=0) {
|
||||||
|
sprintf(xorriso->info_text, "Aborted reading of file %s in line number %d",
|
||||||
|
Text_shellsafe(adr, sfe, 0), linecount);
|
||||||
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||||
|
}
|
||||||
|
sprintf(xorriso->info_text, "Added %d items from file %s\n",
|
||||||
|
insertcount, Text_shellsafe(adr, sfe, 0));
|
||||||
|
Xorriso_info(xorriso,0);
|
||||||
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -122,6 +122,7 @@ int Xorriso_process_msg_queues(struct XorrisO *xorriso, int flag);
|
|||||||
int Xorriso_option_abort_on(struct XorrisO *xorriso, char *severity, int flag);
|
int Xorriso_option_abort_on(struct XorrisO *xorriso, char *severity, int flag);
|
||||||
|
|
||||||
/* Option -add */
|
/* Option -add */
|
||||||
|
/* @param flag bit0=do not report the added item */
|
||||||
int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
|
int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
|
||||||
int *idx, int flag);
|
int *idx, int flag);
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2007.10.24.100156"
|
#define Xorriso_timestamP "2007.10.24.105424"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user