X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibudev%2Flibudev-device.c;h=9f80f56d4206b9b5e90156fb44c80615c88900ae;hb=7619683b46bddcf753786fd20581322da9825f99;hp=b5b07fc5de0cd7c90e1356a35c11ccf022ee683a;hpb=994e023433e020e2b3f683d5d1f2c974db580447;p=elogind.git diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c index b5b07fc5d..9f80f56d4 100644 --- a/src/libudev/libudev-device.c +++ b/src/libudev/libudev-device.c @@ -538,6 +538,8 @@ int udev_device_read_db(struct udev_device *udev_device, const char *dbfile) udev_dbg(udev_device->udev, "no db file to read %s: %m\n", dbfile); return -errno; } + + /* devices with a database entry are initialized */ udev_device->is_initialized = true; while (fgets(line, sizeof(line), f)) { @@ -645,7 +647,7 @@ struct udev_device *udev_device_new(struct udev *udev) if (udev == NULL) return NULL; - udev_device = calloc(1, sizeof(struct udev_device)); + udev_device = new0(struct udev_device, 1); if (udev_device == NULL) return NULL; udev_device->refcount = 1; @@ -808,7 +810,7 @@ _public_ struct udev_device *udev_device_new_from_device_id(struct udev *udev, c sk = socket(PF_INET, SOCK_DGRAM, 0); if (sk < 0) return NULL; - memset(&ifr, 0x00, sizeof(struct ifreq)); + memzero(&ifr, sizeof(struct ifreq)); ifr.ifr_ifindex = ifindex; if (ioctl(sk, SIOCGIFNAME, &ifr) != 0) { close(sk); @@ -982,9 +984,8 @@ static struct udev_device *device_new_from_parent(struct udev_device *udev_devic * Find the next parent device, and fill in information from the sys * device and the udev database entry. * - * The returned the device is not referenced. It is attached to the - * child device, and will be cleaned up when the child device - * is cleaned up. + * Returned device is not referenced. It is attached to the child + * device, and will be cleaned up when the child device is cleaned up. * * It is not necessarily just the upper level directory, empty or not * recognized sys directories are ignored. @@ -1018,9 +1019,8 @@ _public_ struct udev_device *udev_device_get_parent(struct udev_device *udev_dev * If devtype is #NULL, only subsystem is checked, and any devtype will * match. * - * The returned the device is not referenced. It is attached to the - * child device, and will be cleaned up when the child device - * is cleaned up. + * Returned device is not referenced. It is attached to the child + * device, and will be cleaned up when the child device is cleaned up. * * It can be called as many times as needed, without caring about * references. @@ -1090,7 +1090,7 @@ _public_ struct udev_device *udev_device_ref(struct udev_device *udev_device) * 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) { @@ -1098,7 +1098,7 @@ _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);