X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibudev%2Flibudev-hwdb.c;h=b53b35ce4a754c80e30cf3f01e934632775ddb0f;hb=718db96199eb307751264e4163555662c9a389fa;hp=5645a11437c7d100cd1d177e41ef50d30516d7d1;hpb=3cf7b686e6b29f78de0af5929602cae4482f6d49;p=elogind.git diff --git a/src/libudev/libudev-hwdb.c b/src/libudev/libudev-hwdb.c index 5645a1143..b53b35ce4 100644 --- a/src/libudev/libudev-hwdb.c +++ b/src/libudev/libudev-hwdb.c @@ -334,14 +334,14 @@ _public_ struct udev_hwdb *udev_hwdb_ref(struct udev_hwdb *hwdb) { * Drop a reference of a hwdb context. If the refcount reaches zero, * all resources of the hwdb context will be released. * - * Returns: the passed hwdb context if it has still an active reference, or #NULL otherwise. + * Returns: #NULL **/ _public_ struct udev_hwdb *udev_hwdb_unref(struct udev_hwdb *hwdb) { if (!hwdb) return NULL; hwdb->refcount--; if (hwdb->refcount > 0) - return hwdb; + return NULL; if (hwdb->map) munmap((void *)hwdb->map, hwdb->st.st_size); if (hwdb->f) @@ -358,7 +358,7 @@ bool udev_hwdb_validate(struct udev_hwdb *hwdb) { return false; if (!hwdb->f) return false; - if (fstat(fileno(hwdb->f), &st) < 0) + if (stat("/etc/udev/hwdb.bin", &st) < 0) return true; if (timespec_load(&hwdb->st.st_mtim) != timespec_load(&st.st_mtim)) return true;