X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fpath.c;h=767620ba754bb2f42184c0acd42fe0a4e083cbf8;hp=6cf03add44c9ba9a357ecb07a76fba9be7b4ba5f;hb=9795da43c4b70fea1eef798d4aeb0467d6fb5f68;hpb=d2e54fae5ca7a0f71b5ac8b356a589ff0a09ea0a diff --git a/src/core/path.c b/src/core/path.c index 6cf03add4..767620ba7 100644 --- a/src/core/path.c +++ b/src/core/path.c @@ -73,14 +73,16 @@ int path_spec_watch(PathSpec *s, Unit *u) { goto fail; } - if ((s->primary_wd = inotify_add_watch(s->inotify_fd, k, flags_table[s->type])) >= 0) + s->primary_wd = inotify_add_watch(s->inotify_fd, k, flags_table[s->type]); + if (s->primary_wd >= 0) exists = true; do { int flags; /* This assumes the path was passed through path_kill_slashes()! */ - if (!(slash = strrchr(k, '/'))) + slash = strrchr(k, '/'); + if (!slash) break; /* Trim the path at the last slash. Keep the slash if it's the root dir. */ @@ -122,7 +124,7 @@ int path_spec_fd_event(PathSpec *s, uint32_t events) { int r = 0; if (events != EPOLLIN) { - log_error("Got Invalid poll event on inotify."); + log_error("Got invalid poll event on inotify."); r = -EINVAL; goto out; } @@ -135,13 +137,15 @@ int path_spec_fd_event(PathSpec *s, uint32_t events) { assert(l > 0); - if (!(buf = malloc(l))) { + buf = malloc(l); + if (!buf) { log_error("Failed to allocate buffer: %m"); r = -errno; goto out; } - if ((k = read(s->inotify_fd, buf, l)) < 0) { + k = read(s->inotify_fd, buf, l); + if (k < 0) { log_error("Failed to read inotify event: %m"); r = -errno; goto out; @@ -215,7 +219,8 @@ static void path_spec_mkdir(PathSpec *s, mode_t mode) { if (s->type == PATH_EXISTS || s->type == PATH_EXISTS_GLOB) return; - if ((r = mkdir_p_label(s->path, mode)) < 0) + r = mkdir_p_label(s->path, mode); + if (r < 0) log_warning("mkdir(%s) failed: %s", s->path, strerror(-r)); } @@ -302,7 +307,8 @@ static int path_verify(Path *p) { return 0; if (!p->specs) { - log_error("%s lacks path setting. Refusing.", UNIT(p)->id); + log_error_unit(UNIT(p)->id, + "%s lacks path setting. Refusing.", UNIT(p)->id); return -EINVAL; } @@ -314,7 +320,7 @@ static int path_add_default_dependencies(Path *p) { assert(p); - if (UNIT(p)->manager->running_as == MANAGER_SYSTEM) { + if (UNIT(p)->manager->running_as == SYSTEMD_SYSTEM) { if ((r = unit_add_dependency_by_name(UNIT(p), UNIT_BEFORE, SPECIAL_BASIC_TARGET, NULL, true)) < 0) return r; @@ -738,7 +744,6 @@ static const char* const path_result_table[_PATH_RESULT_MAX] = { DEFINE_STRING_TABLE_LOOKUP(path_result, PathResult); const UnitVTable path_vtable = { - .suffix = ".path", .object_size = sizeof(Path), .sections = "Unit\0"