Testwise implementation of libisofs.0.6.3 features

This commit is contained in:
2008-02-23 10:27:19 +00:00
parent b4470fcc97
commit 5c83a138d4
2 changed files with 90 additions and 11 deletions

View File

@ -21,6 +21,9 @@
#include <fcntl.h>
#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");