Made improvements about pattern matching .., closed small memory leaks
This commit is contained in:
parent
f5ee0b3e93
commit
f1a2b29e4f
@ -102,9 +102,6 @@ int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag)
|
||||
|
||||
/* >>> NG How to set severities before isoburn_read_image() ?
|
||||
iso_image_set_msgs_severities() demands an IsoImage
|
||||
*/
|
||||
/*
|
||||
iso_image_msgs_set_severities(queue_sev, print_sev, "libisofs >>> NG : ");
|
||||
*/
|
||||
burn_msgs_set_severities(queue_sev, print_sev, "libburn : ");
|
||||
|
||||
@ -122,6 +119,15 @@ int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag)
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_shutdown_libraries(struct XorrisO *xorriso, int flag)
|
||||
{
|
||||
if(xorriso->libs_are_started==0)
|
||||
return(0);
|
||||
isoburn_finish();
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/* @param flag bit1= obtain outdrive, else indrive */
|
||||
int Xorriso_get_drive_handles(struct XorrisO *xorriso,
|
||||
struct burn_drive_info **dinfo,
|
||||
|
@ -19,6 +19,8 @@ struct FindjoB;
|
||||
|
||||
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_shutdown_libraries(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_create_empty_iso(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* @param flag bit0=aquire as isoburn input drive
|
||||
|
@ -2957,6 +2957,7 @@ int Xorriso_destroy_re(struct XorrisO *m, int flag)
|
||||
}
|
||||
|
||||
|
||||
/* @param flag bit0= shutdown libraries */
|
||||
int Xorriso_destroy(struct XorrisO **xorriso, int flag)
|
||||
{
|
||||
struct XorrisO *m;
|
||||
@ -2964,7 +2965,10 @@ int Xorriso_destroy(struct XorrisO **xorriso, int flag)
|
||||
m= *xorriso;
|
||||
if(m==NULL)
|
||||
return(0);
|
||||
Xorriso_give_up_drive(m, 3);
|
||||
Xorriso_destroy_re(m,0);
|
||||
if(flag&1)
|
||||
Xorriso_shutdown_libraries(m, 0);
|
||||
|
||||
free((char *) m);
|
||||
*xorriso= NULL;
|
||||
@ -3450,7 +3454,7 @@ int Xorriso_prepare_regex(struct XorrisO *xorriso, char *adr, int flag)
|
||||
int l,ret,i,count,bonked= 0,is_constant,is_still_relative= 0;
|
||||
char *cpt,*npt,adr_part[2*SfileadrL],absolute_adr[2*SfileadrL],*adr_start,*wd;
|
||||
|
||||
if(flag&2)
|
||||
if(flag&4)
|
||||
wd= xorriso->wdx;
|
||||
else
|
||||
wd= xorriso->wdi;
|
||||
@ -3535,11 +3539,12 @@ no_regex_available:;
|
||||
|
||||
if(adr_part[0]==0)
|
||||
goto next_adr_part;
|
||||
if(adr_part[0]=='.' && adr_part[1]==0 && count>1)
|
||||
if(adr_part[0]=='.' && adr_part[1]==0 &&
|
||||
(xorriso->re_fill>0 || i<count-1))
|
||||
goto next_adr_part;
|
||||
if(adr_part[0]=='.' && adr_part[1]=='.' && adr_part[2]==0) {
|
||||
/* delete previous part */
|
||||
if(xorriso->re_fill<=0) {
|
||||
if(xorriso->re_fill<=1) {
|
||||
bonked= 1;
|
||||
goto next_adr_part;
|
||||
}
|
||||
@ -8923,7 +8928,7 @@ end_sucessfully:;
|
||||
if(xorriso->volset_change_pending)
|
||||
Xorriso_option_end(xorriso, 0);
|
||||
Xorriso_process_msg_queues(xorriso, 0);
|
||||
Xorriso_destroy(&xorriso,0);
|
||||
Xorriso_destroy(&xorriso,1);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,29 @@
|
||||
struct XorrisO;
|
||||
|
||||
|
||||
/* --------------------- Fundamental Management ------------------- */
|
||||
|
||||
/* Create a new xorriso object and tell it the program name to be used
|
||||
with messages.
|
||||
*/
|
||||
int Xorriso_new(struct XorrisO ** xorriso, char *progname, int flag);
|
||||
|
||||
|
||||
/* Make global library initializations.
|
||||
This must be done with the first xorriso object that gets created and
|
||||
with the first xorriso object that gets created after Xorriso_destroy(,1).
|
||||
*/
|
||||
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
|
||||
|
||||
|
||||
/* Destroy xorriso object when it is no longer needed.
|
||||
@param flag bit0= Make global librariy shutdown.
|
||||
Use only with last xorriso object to be destroyed.
|
||||
|
||||
*/
|
||||
int Xorriso_destroy(struct XorrisO **xorriso, int flag);
|
||||
|
||||
|
||||
/* --------------------- Problem Status and Message API ------------------- */
|
||||
|
||||
|
||||
|
@ -185,8 +185,6 @@ struct XorrisO { /* the global context of xorriso */
|
||||
};
|
||||
|
||||
|
||||
int Xorriso_destroy(struct XorrisO **xorriso, int flag);
|
||||
|
||||
int Xorriso_prepare_regex(struct XorrisO *xorriso, char *adr, int flag);
|
||||
|
||||
int Xorriso_result(struct XorrisO *xorriso, int flag);
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2008.01.14.224645"
|
||||
#define Xorriso_timestamP "2008.01.15.174409"
|
||||
|
@ -101,6 +101,15 @@ int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag)
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_shutdown_libraries(struct XorrisO *xorriso, int flag)
|
||||
{
|
||||
if(xorriso->libs_are_started==0)
|
||||
return(0);
|
||||
isoburn_finish();
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/* @param flag bit1= obtain outdrive, else indrive */
|
||||
int Xorriso_get_drive_handles(struct XorrisO *xorriso,
|
||||
struct burn_drive_info **dinfo,
|
||||
@ -3014,3 +3023,11 @@ int Xorriso_set_volid(struct XorrisO *xorriso, char *volid, int flag)
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_get_volid(struct XorrisO *xorriso, char volid[33], int flag)
|
||||
{
|
||||
/* OG dummy */;
|
||||
volid[0]= 0;
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -19,6 +19,8 @@ struct FindjoB;
|
||||
|
||||
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_shutdown_libraries(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_create_empty_iso(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* @param flag bit0=aquire as isoburn input drive
|
||||
@ -129,5 +131,7 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job,
|
||||
|
||||
int Xorriso_set_volid(struct XorrisO *xorriso, char *volid, int flag);
|
||||
|
||||
int Xorriso_get_volid(struct XorrisO *xorriso, char volid[33], int flag);
|
||||
|
||||
#endif /* Xorrisoburn_includeD */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user