Introduce udev object cleanup functions
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
#include <sys/epoll.h>
|
||||
|
||||
#include "libudev.h"
|
||||
#include "udev-util.h"
|
||||
#include "util.h"
|
||||
|
||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
||||
@@ -117,7 +118,7 @@ static void print_device(struct udev_device *device)
|
||||
|
||||
static int test_device(struct udev *udev, const char *syspath)
|
||||
{
|
||||
struct udev_device *device;
|
||||
_cleanup_udev_device_unref_ struct udev_device *device;
|
||||
|
||||
printf("looking at device: %s\n", syspath);
|
||||
device = udev_device_new_from_syspath(udev, syspath);
|
||||
@@ -126,13 +127,13 @@ static int test_device(struct udev *udev, const char *syspath)
|
||||
return -1;
|
||||
}
|
||||
print_device(device);
|
||||
udev_device_unref(device);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int test_device_parents(struct udev *udev, const char *syspath)
|
||||
{
|
||||
struct udev_device *device;
|
||||
_cleanup_udev_device_unref_ struct udev_device *device;
|
||||
struct udev_device *device_parent;
|
||||
|
||||
printf("looking at device: %s\n", syspath);
|
||||
@@ -153,7 +154,6 @@ static int test_device_parents(struct udev *udev, const char *syspath)
|
||||
print_device(device_parent);
|
||||
device_parent = udev_device_get_parent(device_parent);
|
||||
} while (device_parent != NULL);
|
||||
udev_device_unref(device);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+9
-12
@@ -34,6 +34,7 @@
|
||||
|
||||
#include "missing.h"
|
||||
#include "udev.h"
|
||||
#include "udev-util.h"
|
||||
|
||||
void udev_main_log(struct udev *udev, int priority,
|
||||
const char *file, int line, const char *fn,
|
||||
@@ -82,10 +83,10 @@ out:
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
struct udev *udev;
|
||||
struct udev_event *event = NULL;
|
||||
struct udev_device *dev = NULL;
|
||||
struct udev_rules *rules = NULL;
|
||||
_cleanup_udev_unref_ struct udev *udev = NULL;
|
||||
_cleanup_udev_event_unref_ struct udev_event *event = NULL;
|
||||
_cleanup_udev_device_unref_ struct udev_device *dev = NULL;
|
||||
_cleanup_udev_rules_unref_ struct udev_rules *rules = NULL;
|
||||
char syspath[UTIL_PATH_SIZE];
|
||||
const char *devpath;
|
||||
const char *action;
|
||||
@@ -98,7 +99,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
udev = udev_new();
|
||||
if (udev == NULL)
|
||||
exit(EXIT_FAILURE);
|
||||
return EXIT_FAILURE;
|
||||
|
||||
log_debug("version %s\n", VERSION);
|
||||
label_init("/dev");
|
||||
|
||||
@@ -160,12 +162,7 @@ int main(int argc, char *argv[])
|
||||
out:
|
||||
if (event != NULL && event->fd_signal >= 0)
|
||||
close(event->fd_signal);
|
||||
udev_event_unref(event);
|
||||
udev_device_unref(dev);
|
||||
udev_rules_unref(rules);
|
||||
label_finish();
|
||||
udev_unref(udev);
|
||||
if (err != 0)
|
||||
return EXIT_FAILURE;
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
return err ? EXIT_FAILURE : EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user