Improved error message if xorriso shall open a vanished udev link
This commit is contained in:
parent
f272d1261c
commit
803c4eaef3
@ -48,9 +48,10 @@ static const char *un0(const char *text)
|
|||||||
int Xorriso_auto_driveadr(struct XorrisO *xorriso, char *adr, char *result,
|
int Xorriso_auto_driveadr(struct XorrisO *xorriso, char *adr, char *result,
|
||||||
int flag)
|
int flag)
|
||||||
{
|
{
|
||||||
int ret, is_known_mmc= 0;
|
int ret, is_known_mmc= 0, does_exist= 0;
|
||||||
char *path_pt, *libburn_adr= NULL;
|
char *path_pt, *libburn_adr= NULL;
|
||||||
char *abs_pt, *abs_adr= NULL;
|
char *abs_pt, *abs_adr= NULL;
|
||||||
|
struct stat stbuf;
|
||||||
|
|
||||||
Xorriso_alloc_meM(libburn_adr, char, BURN_DRIVE_ADR_LEN + SfileadrL);
|
Xorriso_alloc_meM(libburn_adr, char, BURN_DRIVE_ADR_LEN + SfileadrL);
|
||||||
Xorriso_alloc_meM(abs_adr, char, SfileadrL);
|
Xorriso_alloc_meM(abs_adr, char, SfileadrL);
|
||||||
@ -77,6 +78,7 @@ int Xorriso_auto_driveadr(struct XorrisO *xorriso, char *adr, char *result,
|
|||||||
}
|
}
|
||||||
|
|
||||||
is_known_mmc= burn_drive_convert_fs_adr(path_pt, libburn_adr);
|
is_known_mmc= burn_drive_convert_fs_adr(path_pt, libburn_adr);
|
||||||
|
does_exist= (stat(path_pt, &stbuf) != -1);
|
||||||
Xorriso_process_msg_queues(xorriso,0);
|
Xorriso_process_msg_queues(xorriso,0);
|
||||||
|
|
||||||
ret= Xorriso_is_in_patternlist(xorriso, xorriso->drive_whitelist, path_pt, 0);
|
ret= Xorriso_is_in_patternlist(xorriso, xorriso->drive_whitelist, path_pt, 0);
|
||||||
@ -106,15 +108,20 @@ int Xorriso_auto_driveadr(struct XorrisO *xorriso, char *adr, char *result,
|
|||||||
if(ret) {
|
if(ret) {
|
||||||
strcpy(xorriso->info_text, "Drive address ");
|
strcpy(xorriso->info_text, "Drive address ");
|
||||||
Text_shellsafe(adr, xorriso->info_text, 1);
|
Text_shellsafe(adr, xorriso->info_text, 1);
|
||||||
strcat(xorriso->info_text,
|
strcat(xorriso->info_text, " rejected because: ");
|
||||||
" rejected because: not MMC and -drive_class 'risky' ");
|
if(does_exist)
|
||||||
|
strcat(xorriso->info_text, "not MMC");
|
||||||
|
else
|
||||||
|
strcat(xorriso->info_text, "not existing");
|
||||||
|
strcat(xorriso->info_text, " and -drive_class 'risky' ");
|
||||||
Text_shellsafe(Xorriso_get_pattern(xorriso,xorriso->drive_greylist,
|
Text_shellsafe(Xorriso_get_pattern(xorriso,xorriso->drive_greylist,
|
||||||
ret - 1, 0),
|
ret - 1, 0),
|
||||||
xorriso->info_text, 1);
|
xorriso->info_text, 1);
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||||
Xorriso_msgs_submit(xorriso, 0,
|
sprintf(xorriso->info_text,
|
||||||
"If the address is a legitimate target, prepend \"stdio:\"",
|
"If the address is a legitimate %s, prepend \"stdio:\"",
|
||||||
0, "HINT", 0);
|
does_exist ? "target" : "address for a new regular file");
|
||||||
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "HINT", 0);
|
||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2011.09.22.142118"
|
#define Xorriso_timestamP "2011.09.23.131734"
|
||||||
|
Loading…
Reference in New Issue
Block a user