|
|
|
@ -123,27 +123,23 @@ int libburner_aquire_by_adr(char *drive_adr)
|
|
|
|
|
int ret;
|
|
|
|
|
char libburn_drive_adr[BURN_DRIVE_ADR_LEN];
|
|
|
|
|
|
|
|
|
|
#ifdef NIX
|
|
|
|
|
if (strncmp(drive_adr, "stdio:", 6) == 0) {
|
|
|
|
|
fprintf(stderr, "Aquiring standard i/o pseudo-drive '%s'\n",
|
|
|
|
|
drive_adr + 6);
|
|
|
|
|
ret = burn_drive_grab_dummy(&drive_list, drive_adr + 6);
|
|
|
|
|
} else
|
|
|
|
|
#endif /* NIX */
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
/* This tries to resolve links or alternative device files */
|
|
|
|
|
ret = burn_drive_convert_fs_adr(drive_adr, libburn_drive_adr);
|
|
|
|
|
if (ret<=0) {
|
|
|
|
|
fprintf(stderr,
|
|
|
|
|
"Address does not lead to a CD burner: '%s'\n",
|
|
|
|
|
drive_adr);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
fprintf(stderr,"Aquiring drive '%s' ...\n", libburn_drive_adr);
|
|
|
|
|
ret = burn_drive_scan_and_grab(&drive_list,
|
|
|
|
|
libburn_drive_adr, 1);
|
|
|
|
|
/* Some not-so-harmless drive addresses get blocked in this demo */
|
|
|
|
|
if (strncmp(drive_adr, "stdio:/dev/fd/", 14) == 0 ||
|
|
|
|
|
strcmp(drive_adr, "stdio:-") == 0) {
|
|
|
|
|
fprintf(stderr, "Will not work with pseudo-drive '%s'\n",
|
|
|
|
|
drive_adr);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* This tries to resolve links or alternative device files */
|
|
|
|
|
ret = burn_drive_convert_fs_adr(drive_adr, libburn_drive_adr);
|
|
|
|
|
if (ret<=0) {
|
|
|
|
|
fprintf(stderr, "Address does not lead to a CD burner: '%s'\n",
|
|
|
|
|
drive_adr);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
fprintf(stderr,"Aquiring drive '%s' ...\n", libburn_drive_adr);
|
|
|
|
|
ret = burn_drive_scan_and_grab(&drive_list, libburn_drive_adr, 1);
|
|
|
|
|
if (ret <= 0) {
|
|
|
|
|
fprintf(stderr,"FAILURE with persistent drive address '%s'\n",
|
|
|
|
|
libburn_drive_adr);
|
|
|
|
|