diff --git a/cdrskin/cdrskin.c b/cdrskin/cdrskin.c index d324729..3ffc7a1 100644 --- a/cdrskin/cdrskin.c +++ b/cdrskin/cdrskin.c @@ -2757,9 +2757,12 @@ int Cdrskin_driveno_to_btldev(struct CdrskiN *skin, int driveno, {ret= 2; goto adr_translation;} } fallback:; - if(skin->preskin->no_pseudo_scsi_adr) - sprintf(btldev,"%d",driveno); - else + if(skin->preskin->no_pseudo_scsi_adr) { + if(loc!=NULL) + strcpy(btldev,loc); + else + sprintf(btldev,"%d",driveno); + } else sprintf(btldev,"0,%d,0",driveno); ret= 0; diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 557a493..9ffcaef 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2006.09.23.114858" +#define Cdrskin_timestamP "2006.09.23.132755" diff --git a/libburn/drive.c b/libburn/drive.c index 4cf9165..40c63a1 100644 --- a/libburn/drive.c +++ b/libburn/drive.c @@ -766,6 +766,9 @@ int burn_drive_obtain_scsi_adr(char *path, int *host_no, int *channel_no, *channel_no = drive_array[i].channel; *target_no = drive_array[i].id; *lun_no = drive_array[i].lun; + if (*host_no < 0 || *channel_no < 0 || + *target_no < 0 || *lun_no < 0) + return 0; return 1; } }