chiark / gitweb /
doc: disable "make check" for gtk-doc
[elogind.git] / src / core / path.c
index 1d50885ed44d508e6b8f285a27e78f261f7dccbf..767620ba754bb2f42184c0acd42fe0a4e083cbf8 100644 (file)
@@ -6,16 +6,16 @@
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
   (at your option) any later version.
 
   systemd is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
+  Lesser General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
+  You should have received a copy of the GNU Lesser General Public License
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
@@ -32,6 +32,7 @@
 #include "dbus-path.h"
 #include "special.h"
 #include "bus-errors.h"
+#include "path-util.h"
 
 static const UnitActiveState state_translation_table[_PATH_STATE_MAX] = {
         [PATH_DEAD] = UNIT_INACTIVE,
@@ -72,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. */
@@ -121,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;
         }
@@ -134,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;
@@ -214,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(s->path, mode)) < 0)
+        r = mkdir_p_label(s->path, mode);
+        if (r < 0)
                 log_warning("mkdir(%s) failed: %s", s->path, strerror(-r));
 }
 
@@ -301,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;
         }
 
@@ -313,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;
 
@@ -737,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"