X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev%2Flib%2Flibudev.c;h=a8a8a5ac3a7e42629f642af2e2125ab26ef29281;hp=56bd47741dc9f3fa89a31952a548c9a8c6c2294c;hb=4cf23685101ff9e1a15f47cb0da49a6ec10b8e27;hpb=eb1f0e6615642ec59b2c436d7f4589f7b738436e diff --git a/udev/lib/libudev.c b/udev/lib/libudev.c index 56bd47741..a8a8a5ac3 100644 --- a/udev/lib/libudev.c +++ b/udev/lib/libudev.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -32,6 +33,13 @@ #include "libudev-private.h" #include "../udev.h" +struct udev { + int refcount; + void (*log_fn)(struct udev *udev, + int priority, const char *file, int line, const char *fn, + const char *format, va_list args); +}; + void udev_log(struct udev *udev, int priority, const char *file, int line, const char *fn, const char *format, ...) @@ -110,6 +118,8 @@ struct udev *udev_new(void) **/ struct udev *udev_ref(struct udev *udev) { + if (udev == NULL) + return NULL; udev->refcount++; return udev; } @@ -124,6 +134,8 @@ struct udev *udev_ref(struct udev *udev) **/ void udev_unref(struct udev *udev) { + if (udev == NULL) + return; udev->refcount--; if (udev->refcount > 0) return; @@ -164,6 +176,8 @@ void udev_set_log_fn(struct udev *udev, **/ const char *udev_get_sys_path(struct udev *udev) { + if (udev == NULL) + return NULL; return sysfs_path; } @@ -179,5 +193,7 @@ const char *udev_get_sys_path(struct udev *udev) **/ const char *udev_get_dev_path(struct udev *udev) { + if (udev == NULL) + return NULL; return udev_root; }