sd-device: allow sd_device_get_devtype to be called with NULL arg and do not assert

We shouldn't call assert() on user-specified arguments in public functions.
While at it, let's return 1 if the type exists, and 0 otherwise.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2019-10-23 17:49:03 +02:00
parent 0e7f5ad9d3
commit 730b76bd2c

View file

@ -838,8 +838,7 @@ _public_ int sd_device_get_subsystem(sd_device *device, const char **ret) {
_public_ int sd_device_get_devtype(sd_device *device, const char **devtype) {
int r;
assert(devtype);
assert(device);
assert_return(device, -EINVAL);
r = device_read_uevent_file(device);
if (r < 0)
@ -848,9 +847,10 @@ _public_ int sd_device_get_devtype(sd_device *device, const char **devtype) {
if (!device->devtype)
return -ENOENT;
*devtype = device->devtype;
if (devtype)
*devtype = device->devtype;
return 0;
return !!device->devtype;
}
_public_ int sd_device_get_parent_with_subsystem_devtype(sd_device *child, const char *subsystem, const char *devtype, sd_device **ret) {