#include "libudev.h"
#include "libudev-private.h"
+static int udev_device_set_devnode(struct udev_device *udev_device, const char *devnode);
+
/**
* SECTION:libudev-device
* @short_description: kernel sys devices
*
* Representation of kernel sys devices. Devices are uniquely identified
* by their syspath, every device has exactly one path in the kernel sys
- * filesystem. Devices usually belong to a kernel subsystem, and and have
+ * filesystem. Devices usually belong to a kernel subsystem, and have
* a unique name inside that subsystem.
*/
f = fopen(dbfile, "re");
if (f == NULL) {
udev_dbg(udev_device->udev, "no db file to read %s: %m\n", dbfile);
- return -1;
+ return -errno;
}
udev_device->is_initialized = true;
strscpyl(filename, sizeof(filename), udev_device->syspath, "/uevent", NULL);
f = fopen(filename, "re");
if (f == NULL)
- return -1;
+ return -errno;
udev_device->uevent_loaded = true;
while (fgets(line, sizeof(line), f)) {
* Drop a reference of a udev device. If the refcount reaches zero,
* the resources of the device will be released.
*
- * Returns: the passed udev device if it has still an active reference, or #NULL otherwise.
+ * Returns: #NULL
**/
_public_ struct udev_device *udev_device_unref(struct udev_device *udev_device)
{
return NULL;
udev_device->refcount--;
if (udev_device->refcount > 0)
- return udev_device;
+ return NULL;
if (udev_device->parent_device != NULL)
udev_device_unref(udev_device->parent_device);
free(udev_device->syspath);
int num = 0;
if (udev_device == NULL)
- return -1;
+ return -EINVAL;
if (udev_device->sysattr_list_read)
return 0;
dir = opendir(udev_device_get_syspath(udev_device));
if (!dir)
- return -1;
+ return -errno;
for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
char path[UTIL_PATH_SIZE];
return 0;
}
-int udev_device_set_devnode(struct udev_device *udev_device, const char *devnode)
+static int udev_device_set_devnode(struct udev_device *udev_device, const char *devnode)
{
free(udev_device->devnode);
if (devnode[0] != '/') {