diff --git a/xorriso/xorriso.c b/xorriso/xorriso.c index a6c22899..10eaf438 100644 --- a/xorriso/xorriso.c +++ b/xorriso/xorriso.c @@ -5452,6 +5452,7 @@ int Xorriso_process_errfile(struct XorrisO *xorriso, 3="libisoburn" else: "" bit6= append carriage return rather than line feed (if not os_errno) + bit7= perform Xorriso_process_msg_queues() first */ int Xorriso_msgs_submit(struct XorrisO *xorriso, int error_code, char msg_text[], int os_errno, @@ -5463,6 +5464,9 @@ int Xorriso_msgs_submit(struct XorrisO *xorriso, "xorriso : ", "libisofs: ", "libburn : ", "libisoburn: ", "", "", "", "", "", "", "", "", "", "", "", "" }; + if(flag&128) + Xorriso_process_msg_queues(xorriso, 0); + if(strcmp(severity, "ERRFILE")==0) Xorriso_process_errfile(xorriso, error_code, msg_text, os_errno, 0); @@ -5513,6 +5517,20 @@ int Xorriso_msgs_submit(struct XorrisO *xorriso, } +/* To be used with isoburn_set_msgs_submit() +*/ +int Xorriso_msgs_submit_void(void *xorriso, + int error_code, char msg_text[], int os_errno, + char severity[], int flag) +{ + int ret; + + ret= Xorriso_msgs_submit((struct XorrisO *) xorriso, error_code, msg_text, + os_errno, severity, flag); + return(ret); +} + + /** @param flag bit0= do not issue own event messages bit1= take xorriso->request_to_abort as reason for abort diff --git a/xorriso/xorriso.h b/xorriso/xorriso.h index 2eb67c81..c0a19ebb 100644 --- a/xorriso/xorriso.h +++ b/xorriso/xorriso.h @@ -72,6 +72,13 @@ int Xorriso_msgs_submit(struct XorrisO *xorriso, int error_code, char msg_text[], int os_errno, char severity[], int flag); +/** Alternative call interface of Xorriso_msgs_submit with void* instead + of struct XorrisO* +*/ +int Xorriso_msgs_submit_void(void *xorriso, + int error_code, char msg_text[], int os_errno, + char severity[], int flag); + /** Evaluate an advise whether to abort or whether to go on with option processing. This should be called after any option function was processed. diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index f7c5509d..482c6f8a 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2008.06.18.161512" +#define Xorriso_timestamP "2008.06.18.161723" diff --git a/xorriso/xorrisoburn.c b/xorriso/xorrisoburn.c index f6b9cc36..779c04d4 100644 --- a/xorriso/xorrisoburn.c +++ b/xorriso/xorrisoburn.c @@ -466,6 +466,8 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag) } if(dinfo==NULL) { + isoburn_preset_msgs_submit(Xorriso_msgs_submit_void, (void *) xorriso, + (3<<2) | 128 , 0); aquire_flag= 1 | ((flag&(8|4))>>1) | ((xorriso->toc_emulation_flag&1)<<3); ret= isoburn_drive_aquire(&dinfo, libburn_adr, aquire_flag); Xorriso_process_msg_queues(xorriso,0);