New -lfa_flags mode restore_error=
This commit is contained in:
@ -150,8 +150,8 @@ ex:;
|
||||
/* Command -lfa_flags */
|
||||
int Xorriso_option_lfa_flags(struct XorrisO *xorriso, char *mode, int flag)
|
||||
{
|
||||
int ret, lfa_flags_mem, l;
|
||||
char *npt, *cpt, *mask= NULL;
|
||||
int ret, lfa_flags_mem, l, sev, max_sev;
|
||||
char *npt, *cpt, *mask= NULL, severity[20];
|
||||
uint64_t mask_flags;
|
||||
|
||||
lfa_flags_mem= xorriso->lfa_flags_setting;
|
||||
@ -208,15 +208,39 @@ int Xorriso_option_lfa_flags(struct XorrisO *xorriso, char *mode, int flag)
|
||||
xorriso->lfa_restore_mask= mask_flags;
|
||||
} else {
|
||||
sprintf(xorriso->info_text,
|
||||
"Cannot apply -lfa_flags restore_mask='%s'", mask);
|
||||
"Cannot decode mask string of -lfa_flags restore_mask='%s'", mask);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
}
|
||||
}
|
||||
} else if(l >= 14 && strncmp(cpt, "restore_error=", 14) == 0) {
|
||||
Xorriso__to_upper(cpt + 14, severity, (int) (int) sizeof(severity), 0);
|
||||
if(strcmp(severity, "SILENT") != 0) {
|
||||
ret= Xorriso__text_to_sev(severity, &sev, 0);
|
||||
if(ret<=0) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-lfa_flags restore_error=: Not a known severity name : ");
|
||||
Text_shellsafe(cpt + 14, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(ret);
|
||||
}
|
||||
Xorriso__text_to_sev("FATAL", &max_sev, 0);
|
||||
if(sev > max_sev) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-lfa_flags restore_error=: Severity curbed to maximum value 'FATAL': ");
|
||||
Text_shellsafe(cpt + 14, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
|
||||
strcpy(severity, "FATAL");
|
||||
}
|
||||
}
|
||||
Xorriso__to_lower(severity, xorriso->lfa_restore_err_sev,
|
||||
sizeof(xorriso->lfa_restore_err_sev), 0);
|
||||
|
||||
} else if(l == 7 && strncmp(cpt, "default", l) == 0) {
|
||||
xorriso->lfa_flags_setting= xorriso->lfa_flags_default;
|
||||
xorriso->lfa_restore_mask= ~((uint64_t) 0);
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "-lfa_flags: unknown mode in '%s'", mode);
|
||||
sprintf(xorriso->info_text,
|
||||
"-lfa_flags: unknown or mistyped mode in '%s'", mode);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
xorriso->lfa_flags_setting= lfa_flags_mem;
|
||||
{ret= 0; goto ex;}
|
||||
|
Reference in New Issue
Block a user