static char * __of_path_common(char *sysfs_path, const char *device, int devno) { const char *digit_string; char disk[MAX_DISK_CAT]; char *of_path = find_obppath(sysfs_path); if (!of_path) return NULL; digit_string = trailing_digits (device); if (*digit_string == '\0') { snprintf(disk, sizeof (disk), "/disk@%d", devno); } else { int part; sscanf(digit_string, "%d", &part); snprintf(disk, sizeof (disk), "/disk@%d:%c", devno, 'a' + (part - 1)); } strcat(of_path, disk); return of_path; }
static void __of_path_common(char *of_path, char *sysfs_path, const char *device, int devno) { const char *digit_string; char disk[64]; find_obppath(of_path, sysfs_path); digit_string = trailing_digits (device); if (*digit_string == '\0') { sprintf(disk, "/disk@%d", devno); } else { int part; sscanf(digit_string, "%d", &part); sprintf(disk, "/disk@%d:%c", devno, 'a' + (part - 1)); } strcat(of_path, disk); }