Browse Source

New less obtrusive implementation of sg_is_enumerable_adr for Solaris

ZeroEightFour
Thomas Schmitt 10 years ago
parent
commit
7ba30596ce
2 changed files with 24 additions and 1 deletions
  1. +1
    -1
      cdrskin/cdrskin_timestamp.h
  2. +23
    -0
      libburn/sg-solaris.c

+ 1
- 1
cdrskin/cdrskin_timestamp.h View File

@ -1 +1 @@
#define Cdrskin_timestamP "2010.06.11.104830"
#define Cdrskin_timestamP "2010.06.13.190707"

+ 23
- 0
libburn/sg-solaris.c View File

@ -717,6 +717,27 @@ int sg_obtain_scsi_adr(char *path, int *bus_no, int *host_no, int *channel_no,
/** Tells wether a text is a persistent address as listed by the enumeration
functions.
*/
#ifndef NIX
int sg_is_enumerable_adr(char* path)
{
int ret;
int bus_no, target_no, lun_no;
struct stat stbuf;
if (strncmp("/dev/rdsk/", path, 10) != 0)
return 0;
ret = decode_btl_solaris(path + 10, &bus_no, &target_no, &lun_no, 0);
if (ret <= 0)
return 0;
if (stat(path, &stbuf) == -1)
return 0;
return 1;
}
#else /* ! NIX */
int sg_is_enumerable_adr(char* adr)
{
burn_drive_enumerator_t idx;
@ -736,6 +757,8 @@ int sg_is_enumerable_adr(char* adr)
sg_give_next_adr(&idx, buf, sizeof(buf), -1);
return (0);
}
#endif /* NIX */

Loading…
Cancel
Save