diff --git a/test/libburner.c b/test/libburner.c index 589d2c5..e245eb6 100644 --- a/test/libburner.c +++ b/test/libburner.c @@ -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);