X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibudev%2Flibudev.c;h=212c5fdd75e2c94b690f9379a06b0e1435809da4;hp=74b53cbf1b59e7bcdb0b353081f6df4e0decca8a;hb=6ada823a9a0979ea145fd70add1007c21caa45c0;hpb=8fef0ff25c9fd7e5bb99d66f43c6357e4996a3cc diff --git a/src/libudev/libudev.c b/src/libudev/libudev.c index 74b53cbf1..212c5fdd7 100644 --- a/src/libudev/libudev.c +++ b/src/libudev/libudev.c @@ -41,12 +41,6 @@ struct udev { int priority, const char *file, int line, const char *fn, const char *format, va_list args); void *userdata; - char *sys_path; - char *dev_path; - char *rules_path[4]; - unsigned long long rules_path_ts[4]; - int rules_path_count; - char *run_path; struct udev_list properties_list; int log_priority; }; @@ -100,14 +94,6 @@ _public_ void udev_set_userdata(struct udev *udev, void *userdata) udev->userdata = userdata; } -static char *set_value(char **s, const char *v) -{ - free(*s); - *s = strdup(v); - util_remove_trailing_chars(*s, '/'); - return *s; -} - /** * udev_new: * @@ -123,7 +109,6 @@ _public_ struct udev *udev_new(void) { struct udev *udev; const char *env; - char *config_file = NULL; FILE *f; udev = calloc(1, sizeof(struct udev)); @@ -134,21 +119,7 @@ _public_ struct udev *udev_new(void) udev->log_priority = LOG_ERR; udev_list_init(udev, &udev->properties_list, true); - /* custom config file */ - env = getenv("UDEV_CONFIG_FILE"); - if (env != NULL) { - if (set_value(&config_file, env) == NULL) - goto err; - udev_add_property(udev, "UDEV_CONFIG_FILE", config_file); - } - - /* default config file */ - if (config_file == NULL) - config_file = strdup(SYSCONFDIR "/udev/udev.conf"); - if (config_file == NULL) - goto err; - - f = fopen(config_file, "re"); + f = fopen(SYSCONFDIR "/udev/udev.conf", "re"); if (f != NULL) { char line[UTIL_LINE_SIZE]; int line_nr = 0; @@ -172,7 +143,7 @@ _public_ struct udev *udev_new(void) /* split key/value */ val = strchr(key, '='); if (val == NULL) { - err(udev, "missing = in '%s'[%i], skip line\n", config_file, line_nr); + err(udev, "missing = in " SYSCONFDIR "/udev/udev.conf[%i]; skip line\n", line_nr); continue; } val[0] = '\0'; @@ -204,7 +175,7 @@ _public_ struct udev *udev_new(void) /* unquote */ if (val[0] == '"' || val[0] == '\'') { if (val[len-1] != val[0]) { - err(udev, "inconsistent quoting in '%s'[%i], skip line\n", config_file, line_nr); + err(udev, "inconsistent quoting in " SYSCONFDIR "/udev/udev.conf[%i]; skip line\n", line_nr); continue; } val[len-1] = '\0'; @@ -215,23 +186,6 @@ _public_ struct udev *udev_new(void) udev_set_log_priority(udev, util_log_priority(val)); continue; } - if (strcmp(key, "udev_root") == 0) { - set_value(&udev->dev_path, val); - continue; - } - if (strcmp(key, "udev_run") == 0) { - set_value(&udev->run_path, val); - continue; - } - if (strcmp(key, "udev_sys") == 0) { - set_value(&udev->sys_path, val); - continue; - } - if (strcmp(key, "udev_rules") == 0) { - set_value(&udev->rules_path[0], val); - udev->rules_path_count = 1; - continue; - } } fclose(f); } @@ -241,44 +195,7 @@ _public_ struct udev *udev_new(void) if (env != NULL) udev_set_log_priority(udev, util_log_priority(env)); - /* set defaults */ - if (udev->dev_path == NULL) - if (set_value(&udev->dev_path, "/dev") == NULL) - goto err; - - if (udev->sys_path == NULL) - if (set_value(&udev->sys_path, "/sys") == NULL) - goto err; - - if (udev->run_path == NULL) - if (set_value(&udev->run_path, "/run/udev") == NULL) - goto err; - - if (udev->rules_path[0] == NULL) { - /* /usr/lib/udev -- system rules */ - udev->rules_path[0] = strdup(UDEVLIBEXECDIR "/rules.d"); - if (!udev->rules_path[0]) - goto err; - - /* /run/udev -- runtime rules */ - if (asprintf(&udev->rules_path[1], "%s/rules.d", udev->run_path) < 0) - goto err; - - /* /etc/udev -- local administration rules */ - udev->rules_path[2] = strdup(SYSCONFDIR "/udev/rules.d"); - if (!udev->rules_path[2]) - goto err; - - udev->rules_path_count = 3; - } - - free(config_file); return udev; -err: - free(config_file); - err(udev, "context creation failed\n"); - udev_unref(udev); - return NULL; } /** @@ -313,12 +230,6 @@ _public_ void udev_unref(struct udev *udev) if (udev->refcount > 0) return; udev_list_cleanup(&udev->properties_list); - free(udev->dev_path); - free(udev->sys_path); - free(udev->rules_path[0]); - free(udev->rules_path[1]); - free(udev->rules_path[2]); - free(udev->run_path); free(udev); } @@ -372,21 +283,11 @@ _public_ void udev_set_log_priority(struct udev *udev, int priority) udev_add_property(udev, "UDEV_LOG", num); } -int udev_get_rules_path(struct udev *udev, char **path[], unsigned long long *stamp_usec[]) -{ - *path = udev->rules_path; - if (stamp_usec) - *stamp_usec = udev->rules_path_ts; - return udev->rules_path_count; -} - /** * udev_get_sys_path: * @udev: udev library context * - * Retrieve the sysfs mount point. The default is "/sys". For - * testing purposes, it can be overridden with udev_sys= - * in the udev configuration file. + * Returns always "/sys"; deprecated, will be removed in a future version. * * Returns: the sys mount point **/ @@ -394,16 +295,14 @@ _public_ const char *udev_get_sys_path(struct udev *udev) { if (udev == NULL) return NULL; - return udev->sys_path; + return "/sys"; } /** * udev_get_dev_path: * @udev: udev library context * - * Retrieve the device directory path. The default value is "/dev", - * the actual value may be overridden in the udev configuration - * file. + * Returns always "/dev"; deprecated, will be removed in a future version. * * Returns: the device directory path **/ @@ -411,14 +310,14 @@ _public_ const char *udev_get_dev_path(struct udev *udev) { if (udev == NULL) return NULL; - return udev->dev_path; + return "/dev"; } /** * udev_get_run_path: * @udev: udev library context * - * Retrieve the udev runtime directory path. The default is "/run/udev". + * Returns always "/run/udev"; deprecated, will be removed in a future version. * * Returns: the runtime directory path **/ @@ -426,7 +325,7 @@ _public_ const char *udev_get_run_path(struct udev *udev) { if (udev == NULL) return NULL; - return udev->run_path; + return "/run/udev"; } struct udev_list_entry *udev_add_property(struct udev *udev, const char *key, const char *value)