chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
test-udev: cleanup libudev context and overridden rules file string
[elogind.git]
/
udev
/
lib
/
libudev.c
diff --git
a/udev/lib/libudev.c
b/udev/lib/libudev.c
index 5a00f44de91a11bb62e949257472dc53b659253a..09e1bec1bfb83e35fa8c4d24cfee796e206b5a81 100644
(file)
--- a/
udev/lib/libudev.c
+++ b/
udev/lib/libudev.c
@@
-91,7
+91,6
@@
struct udev *udev_new(void)
sysfs_init();
/* defaults */
sysfs_init();
/* defaults */
- config_file = NULL;
udev->refcount = 1;
udev->log_fn = log_stderr;
udev->log_priority = LOG_ERR;
udev->refcount = 1;
udev->log_fn = log_stderr;
udev->log_priority = LOG_ERR;
@@
-100,7
+99,9
@@
struct udev *udev_new(void)
udev->sys_path = strdup("/sys");
config_file = strdup(SYSCONFDIR "/udev/udev.conf");
udev->sys_path = strdup("/sys");
config_file = strdup(SYSCONFDIR "/udev/udev.conf");
- if (udev->dev_path == NULL || udev->sys_path == NULL)
+ if (udev->dev_path == NULL ||
+ udev->sys_path == NULL ||
+ config_file == NULL)
goto err;
/* settings by environment and config file */
goto err;
/* settings by environment and config file */
@@
-205,7
+206,6
@@
struct udev *udev_new(void)
}
fclose(f);
}
}
fclose(f);
}
- free(config_file);
env = getenv("UDEV_ROOT");
if (env != NULL) {
env = getenv("UDEV_ROOT");
if (env != NULL) {
@@
-223,12
+223,16
@@
struct udev *udev_new(void)
info(udev, "context %p created\n", udev);
info(udev, "log_priority=%d\n", udev->log_priority);
info(udev, "context %p created\n", udev);
info(udev, "log_priority=%d\n", udev->log_priority);
+ info(udev, "config_file='%s'\n", config_file);
info(udev, "dev_path='%s'\n", udev->dev_path);
info(udev, "dev_path='%s'\n", udev->dev_path);
+ info(udev, "sys_path='%s'\n", udev->sys_path);
if (udev->rules_path != NULL)
info(udev, "rules_path='%s'\n", udev->rules_path);
if (udev->rules_path != NULL)
info(udev, "rules_path='%s'\n", udev->rules_path);
+ free(config_file);
return udev;
err:
return udev;
err:
+ free(config_file);
err(udev, "context creation failed\n");
udev_unref(udev);
return NULL;
err(udev, "context creation failed\n");
udev_unref(udev);
return NULL;
@@
-268,6
+272,7
@@
void udev_unref(struct udev *udev)
sysfs_cleanup();
free(udev->dev_path);
free(udev->sys_path);
sysfs_cleanup();
free(udev->dev_path);
free(udev->sys_path);
+ free(udev->rules_path);
info(udev, "context %p released\n", udev);
free(udev);
}
info(udev, "context %p released\n", udev);
free(udev);
}