Index: branches/JrCs/i386/libsaio/device_inject.c =================================================================== --- branches/JrCs/i386/libsaio/device_inject.c (revision 125) +++ branches/JrCs/i386/libsaio/device_inject.c (revision 126) @@ -130,7 +130,7 @@ numpaths = 0; break; } - device->pci_dev_path[numpaths].device = ascii_hex_to_int(buff); + device->pci_dev_path[numpaths].device = strtoul(buff, NULL, 16); x += 3; // 0x curr = x; @@ -145,7 +145,7 @@ numpaths = 0; break; } - device->pci_dev_path[numpaths].function = ascii_hex_to_int(buff); // TODO: find dev from char *path + device->pci_dev_path[numpaths].function = strtoul(buff, NULL, 16); numpaths++; } Index: branches/JrCs/i386/libsaio/convert.c =================================================================== --- branches/JrCs/i386/libsaio/convert.c (revision 125) +++ branches/JrCs/i386/libsaio/convert.c (revision 126) @@ -48,26 +48,6 @@ return convertHexStr2Binary(uuid_hex, &len); } -/** XXX AsereBLN replace by strtoul */ -uint32_t ascii_hex_to_int(char *buff) -{ - uint32_t value = 0, i, digit; - for(i = 0; i < strlen(buff); i++) - { - if (buff[i] >= 48 && buff[i] <= 57) // '0' through '9' - digit = buff[i] - 48; - else if (buff[i] >= 65 && buff[i] <= 70) // 'A' through 'F' - digit = buff[i] - 55; - else if (buff[i] >= 97 && buff[i] <= 102) // 'a' through 'f' - digit = buff[i] - 87; - else - return value; - - value = digit + 16 * value; - } - return value; -} - void *convertHexStr2Binary(const char *hexStr, int *outLength) { int len; Index: branches/JrCs/i386/libsaio/convert.h =================================================================== --- branches/JrCs/i386/libsaio/convert.h (revision 125) +++ branches/JrCs/i386/libsaio/convert.h (revision 126) @@ -16,7 +16,6 @@ void getStringFromUUID(const uuid_t uuid, uuid_string_t out); uuid_t* newUUIDFromString(const char *source); void * convertHexStr2Binary(const char *hexStr, int *outLength); -uint32_t ascii_hex_to_int(char *buff); static inline uint16_t dp_swap16(uint16_t toswap) {