diff --git a/libisoburn/burn_wrap.c b/libisoburn/burn_wrap.c index 2f06c6b4..e0d17a16 100644 --- a/libisoburn/burn_wrap.c +++ b/libisoburn/burn_wrap.c @@ -731,6 +731,9 @@ int isoburn_get_fifo_status(struct burn_drive *d, int *size, int *free_bytes, } +#define Libisoburn_on_libisofs_after_0_6_2 yes + +/* >>> todo: throw out the copies of libdax_msgs entrails */ /* <<< to be replaced by libburn-0.4.3 API call burn_sev_to_text(). This is a copy of libdax_msgs__sev_to_text() which is not exposed @@ -752,9 +755,31 @@ int isoburn_get_fifo_status(struct burn_drive *d, int *size, int *free_bytes, #define LIBDAX_MSGS_SEV_ABORT 0x71000000 #define LIBDAX_MSGS_SEV_NEVER 0x7fffffff +/* @param flag bit0= -reserved- + bit1= this is a libburn severity +*/ int isoburn__sev_to_text(int severity, char **severity_name, int flag) { +#ifdef Libisoburn_on_libisofs_after_0_6_2 + int ret; +#else +#ifdef Libisoburn_on__libburn_after_0_4_2 + int ret; +#endif +#endif + +#ifdef Libisoburn_on_libisofs_after_0_6_2 + ret= iso_sev_to_text(severity, severity_name, 0); + if(ret>0) + return(ret); +#endif /* Libisoburn_on_libisofs_after_0_6_2 */ +#ifdef Libisoburn_on__libburn_after_0_4_2 + ret= burn_sev_to_text(severity, severity_name, 0); + if(ret>0) + return(ret); +#endif + if(flag&1) { *severity_name= "NEVER\nABORT\nFATAL\nFAILURE\nSORRY\nWARNING\nHINT\nNOTE\nUPDATE\nDEBUG\nERRFILE\nALL"; return(1); @@ -798,6 +823,17 @@ int isoburn__text_to_sev(char *severity_name, int *severity_number, int flag) { int ret= 1; +#ifdef Libisoburn_on_libisofs_after_0_6_2 + ret= iso_text_to_sev(severity_name, severity_number, 0); + if(ret>0) + return(ret); +#endif /* Libisoburn_on_libisofs_after_0_6_2 */ +#ifdef Libisoburn_on__libburn_after_0_4_2 + ret= burn_text_to_sev(severity_name, severity_number, 0); + if(ret>0) + return(ret); +#endif + if(severity_name[0]==0) *severity_number= 0; else if(strcmp(severity_name, "MISHAP")==0) @@ -826,6 +862,16 @@ int isoburn_report_iso_error(int iso_error_code, char msg_text[], int os_errno, msg_text_pt= msg_text; iso_sev= iso_error_get_severity(iso_error_code); sev_text_pt= min_severity; + +#ifdef Libisoburn_on_libisofs_after_0_6_2 + + isoburn__text_to_sev(min_severity, &min_sev, 0); + if(min_sev < iso_sev) + isoburn__sev_to_text(iso_sev, &sev_text_pt, 0); + ret= iso_msgs_submit(error_code, msg_text_pt, os_errno, sev_text_pt, 0); + +#else + burn_text_to_sev(min_severity, &min_sev, 0); /* <<< Tunnel MISHAP through libburn which knows no MISHAP @@ -837,15 +883,12 @@ int isoburn_report_iso_error(int iso_error_code, char msg_text[], int os_errno, iso_sev= LIBDAX_MSGS_SEV_DEBUG; error_code= 0x00051001; } - - if(min_sev < iso_sev) { - - /* >>> with libburn-0.4.4 do: burn_sev_to_text(iso_sev, &sev_text_pt, 0); */ + if(min_sev < iso_sev) isoburn__sev_to_text(iso_sev, &sev_text_pt, 0); - - } - ret= burn_msgs_submit(error_code, msg_text_pt, os_errno, sev_text_pt, NULL); + +#endif /* ! Libisoburn_on_libisofs_after_0_6_2 */ + return(ret); } diff --git a/xorriso/xorrisoburn.c b/xorriso/xorrisoburn.c index f04a372b..d59b150f 100644 --- a/xorriso/xorrisoburn.c +++ b/xorriso/xorrisoburn.c @@ -21,6 +21,9 @@ #include +#define Xorriso_on_libisofs_after_0_6_2 yes + + /* ------------------------------------------------------------------------ */ #ifndef Xorriso_standalonE @@ -167,7 +170,7 @@ LIBISOBURN_MISCONFIGURATION_ = 0; xorriso->libs_are_started= 1; - queue_sev= "DEBUG"; + queue_sev= "ALL"; if(xorriso->library_msg_direct_print) { /* >>> need option for controlling this in XorrisO. @@ -238,6 +241,8 @@ int Xorriso_get_drive_handles(struct XorrisO *xorriso, } +/* >>> todo: throw out the copies of libdax_msgs entrails */ + /* <<< to be replaced by libburn-0.4.3 API call burn_sev_to_text(). This is a copy of libdax_msgs__sev_to_text() which is not exposed by the API of of libburn-0.4.2 . As soon as xorriso gets based on @@ -258,9 +263,29 @@ int Xorriso_get_drive_handles(struct XorrisO *xorriso, #define LIBDAX_MSGS_SEV_ABORT 0x71000000 #define LIBDAX_MSGS_SEV_NEVER 0x7fffffff + int Xorriso__sev_to_text(int severity, char **severity_name, int flag) { +#ifdef Xorriso_on_libisofs_after_0_6_2 + int ret; +#else +#ifdef Xorriso_on_libburn_after_0_4_2 + int ret; +#endif +#endif + +#ifdef Xorriso_on_libisofs_after_0_6_2 + ret= iso_sev_to_text(severity, severity_name, 0); + if(ret>0) + return(ret); +#endif /* Xorriso_on_libisofs_after_0_6_2 */ +#ifdef Xorriso_on_libburn_after_0_4_2 + ret= burn_sev_to_text(severity, severity_name, 0); + if(ret>0) + return(ret); +#endif + if(flag&1) { *severity_name= "NEVER\nABORT\nFATAL\nFAILURE\nSORRY\nWARNING\nHINT\nNOTE\nUPDATE\nDEBUG\nALL"; return(1); @@ -304,6 +329,17 @@ int Xorriso__text_to_sev(char *severity_name, int *severity_number, int flag) { int ret= 1; +#ifdef Xorriso_on_libisofs_after_0_6_2 + ret= iso_text_to_sev(severity_name, severity_number, 0); + if(ret>0) + return(ret); +#endif /* Xorriso_on_libisofs_after_0_6_2 */ +#ifdef Xorriso_on_libburn_after_0_4_2 + ret= burn_text_to_sev(severity_name, severity_number, 0); + if(ret>0) + return(ret); +#endif + if(severity_name[0]==0) *severity_number= 0; else if(strcmp(severity_name, "MISHAP")==0) @@ -346,7 +382,6 @@ int Xorriso_report_iso_error(struct XorrisO *xorriso, char *victim, sev_text_pt= min_severity; Xorriso__text_to_sev(min_severity, &min_sev, 0); if(min_sev < iso_sev) - /* >>> with libburn-0.4.4 do: burn_sev_to_text(iso_sev, &sev_text_pt, 0); */ Xorriso__sev_to_text(iso_sev, &sev_text_pt, 0); strcpy(sfe, msg_text_pt); if(victim[0]) { @@ -366,7 +401,7 @@ int Xorriso_set_image_severities(struct XorrisO *xorriso, int flag) if(flag&1) queue_sev= "UPDATE"; else - queue_sev= "DEBUG"; + queue_sev= "ALL"; if(xorriso->library_msg_direct_print) print_sev= xorriso->report_about_text; else @@ -3897,11 +3932,12 @@ int Xorriso_set_abort_severity(struct XorrisO *xorriso, int flag) { int ret; - /* <<< On MISHAP use FAILURE as abort severity known to libisofs. + /* ??? <<< On MISHAP use FAILURE as abort severity known to libisofs. On ERRFILE use NEVER. The pacifier loop will care for canceling libburn on MISHAP and thus also cancel the image generation. with libisofs-0.6.4 this should not be necessary + Shall it be uphold anyway ? */ if((flag&1) && strcmp(xorriso->abort_on_text, "MISHAP")==0) ret= iso_set_abort_severity("FAILURE");