Changeset View
Changeset View
Standalone View
Standalone View
stand/libofw/devicename.c
Show First 20 Lines • Show All 110 Lines • ▼ Show 20 Lines | *path = s; | ||||
if (idev == NULL) { | if (idev == NULL) { | ||||
printf("ofw_parsedev: malloc failed\n"); | printf("ofw_parsedev: malloc failed\n"); | ||||
return ENOMEM; | return ENOMEM; | ||||
} | } | ||||
strcpy(idev->d_path, name); | strcpy(idev->d_path, name); | ||||
idev->dd.d_dev = dv; | idev->dd.d_dev = dv; | ||||
if (dv->dv_type == DEVT_ZFS) { | if (dv->dv_type == DEVT_ZFS) { | ||||
p = devspec + strlen(dv->dv_name); | p = devspec + strlen(dv->dv_name); | ||||
err = zfs_parsedev((struct zfs_devdesc *)idev, p, path); | |||||
if (err != 0) { | |||||
free(idev); | free(idev); | ||||
err = zfs_parsedev((struct devdesc **)&idev, p, path); | |||||
if (err != 0) { | |||||
return (err); | return (err); | ||||
} | } | ||||
} | } | ||||
if (dev == NULL) { | if (dev == NULL) { | ||||
free(idev); | free(idev); | ||||
} else { | } else { | ||||
*dev = idev; | *dev = idev; | ||||
Show All 17 Lines |