[systemd-commits] 3 commits - src/conf-parser.c src/hostname-setup.c src/load-fragment.c src/main.c src/service.c src/util.c src/util.h

Lennart Poettering lennart at kemper.freedesktop.org
Wed Jul 7 08:44:33 PDT 2010


 src/conf-parser.c    |    1 -
 src/hostname-setup.c |    2 --
 src/load-fragment.c  |    1 -
 src/main.c           |    3 ++-
 src/service.c        |    9 ++++-----
 src/util.c           |   34 ----------------------------------
 src/util.h           |   40 ++++++++++++++++++++++++++++++++++------
 7 files changed, 40 insertions(+), 50 deletions(-)

New commits:
commit e015090f32dc35360637c5d8f2920654615b2439
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Jul 7 17:44:11 2010 +0200

    main: always log when we reexecute or reload

diff --git a/src/main.c b/src/main.c
index 6ff3ebc..7e33744 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1007,6 +1007,7 @@ int main(int argc, char *argv[]) {
                         goto finish;
 
                 case MANAGER_RELOAD:
+                        log_info("Reloading.");
                         if ((r = manager_reload(m)) < 0)
                                 log_error("Failed to reload: %s", strerror(-r));
                         break;
@@ -1016,7 +1017,7 @@ int main(int argc, char *argv[]) {
                                 goto finish;
 
                         reexecute = true;
-                        log_debug("Reexecuting.");
+                        log_notice("Reexecuting.");
                         goto finish;
 
                 default:
commit af2ab1f9a30a3a2897ee8d0991467ae61bb7cba0
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Jul 7 17:42:06 2010 +0200

    service: fix parsing word size functions

diff --git a/src/service.c b/src/service.c
index 3bc56d0..6abc224 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2085,28 +2085,28 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
         } else if (streq(key, "main-exec-status-start-realtime")) {
                 uint64_t k;
 
-                if ((r = safe_atollu(value, &k)) < 0)
+                if ((r = safe_atou64(value, &k)) < 0)
                         log_debug("Failed to parse main-exec-status-start-realtime value %s", value);
                 else
                         s->main_exec_status.start_timestamp.realtime = (usec_t) k;
         } else if (streq(key, "main-exec-status-start-monotonic")) {
                 uint64_t k;
 
-                if ((r = safe_atollu(value, &k)) < 0)
+                if ((r = safe_atou64(value, &k)) < 0)
                         log_debug("Failed to parse main-exec-status-start-monotonic value %s", value);
                 else
                         s->main_exec_status.start_timestamp.monotonic = (usec_t) k;
         } else if (streq(key, "main-exec-status-exit-realtime")) {
                 uint64_t k;
 
-                if ((r = safe_atollu(value, &k)) < 0)
+                if ((r = safe_atou64(value, &k)) < 0)
                         log_debug("Failed to parse main-exec-status-exit-realtime value %s", value);
                 else
                         s->main_exec_status.exit_timestamp.realtime = (usec_t) k;
         } else if (streq(key, "main-exec-status-exit-monotonic")) {
                 uint64_t k;
 
-                if ((r = safe_atollu(value, &k)) < 0)
+                if ((r = safe_atou64(value, &k)) < 0)
                         log_debug("Failed to parse main-exec-status-exit-monotonic value %s", value);
                 else
                         s->main_exec_status.exit_timestamp.monotonic = (usec_t) k;
commit 8f75a603ec833a07a9d9d05782713807297c0c53
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Jul 7 17:40:25 2010 +0200

    util: implement safe_atolu based on safe_atolli/safe_atoi, depending on word size

diff --git a/src/conf-parser.c b/src/conf-parser.c
index 13f8738..a220453 100644
--- a/src/conf-parser.c
+++ b/src/conf-parser.c
@@ -32,7 +32,6 @@
 #include "log.h"
 
 #define COMMENTS "#;\n"
-#define LINE_MAX 4096
 
 /* Run the user supplied parser for an assignment */
 static int next_assignment(
diff --git a/src/hostname-setup.c b/src/hostname-setup.c
index e9f722e..24e0f9d 100644
--- a/src/hostname-setup.c
+++ b/src/hostname-setup.c
@@ -30,8 +30,6 @@
 #include "util.h"
 #include "log.h"
 
-#define LINE_MAX 4096
-
 #if defined(TARGET_FEDORA)
 #define FILENAME "/etc/sysconfig/network"
 #elif defined(TARGET_SUSE) || defined(TARGET_SLACKWARE)
diff --git a/src/load-fragment.c b/src/load-fragment.c
index 591b73d..1cc7c5c 100644
--- a/src/load-fragment.c
+++ b/src/load-fragment.c
@@ -41,7 +41,6 @@
 #include "unit-name.h"
 
 #define COMMENTS "#;\n"
-#define LINE_MAX 4096
 
 static int config_parse_deps(
                 const char *filename,
diff --git a/src/service.c b/src/service.c
index 9086590..3bc56d0 100644
--- a/src/service.c
+++ b/src/service.c
@@ -36,7 +36,6 @@
 
 #define COMMENTS "#;\n"
 #define NEWLINES "\n\r"
-#define LINE_MAX 4096
 
 typedef enum RunlevelType {
         RUNLEVEL_UP,
diff --git a/src/util.c b/src/util.c
index a5f904d..8360eb6 100644
--- a/src/util.c
+++ b/src/util.c
@@ -307,40 +307,6 @@ int safe_atoi(const char *s, int *ret_i) {
         return 0;
 }
 
-int safe_atolu(const char *s, long unsigned *ret_lu) {
-        char *x = NULL;
-        unsigned long l;
-
-        assert(s);
-        assert(ret_lu);
-
-        errno = 0;
-        l = strtoul(s, &x, 0);
-
-        if (!x || *x || errno)
-                return errno ? -errno : -EINVAL;
-
-        *ret_lu = l;
-        return 0;
-}
-
-int safe_atoli(const char *s, long int *ret_li) {
-        char *x = NULL;
-        long l;
-
-        assert(s);
-        assert(ret_li);
-
-        errno = 0;
-        l = strtol(s, &x, 0);
-
-        if (!x || *x || errno)
-                return errno ? -errno : -EINVAL;
-
-        *ret_li = l;
-        return 0;
-}
-
 int safe_atollu(const char *s, long long unsigned *ret_llu) {
         char *x = NULL;
         unsigned long long l;
diff --git a/src/util.h b/src/util.h
index 65a5e66..fed0e67 100644
--- a/src/util.h
+++ b/src/util.h
@@ -30,6 +30,7 @@
 #include <stdio.h>
 #include <signal.h>
 #include <sched.h>
+#include <limits.h>
 
 #include "macro.h"
 
@@ -119,21 +120,48 @@ int parse_pid(const char *s, pid_t* ret_pid);
 int safe_atou(const char *s, unsigned *ret_u);
 int safe_atoi(const char *s, int *ret_i);
 
+int safe_atollu(const char *s, unsigned long long *ret_u);
+int safe_atolli(const char *s, long long int *ret_i);
+
+#if __WORDSIZE == 32
+static inline int safe_atolu(const char *s, unsigned long *ret_u) {
+        assert_cc(sizeof(unsigned long) == sizeof(unsigned));
+        return safe_atou(s, (unsigned*) ret_u);
+}
+static inline int safe_atoli(const char *s, long int *ret_u) {
+        assert_cc(sizeof(long int) == sizeof(int));
+        return safe_atoi(s, (int*) ret_u);
+}
+#else
+static inline int safe_atolu(const char *s, unsigned long *ret_u) {
+        assert_cc(sizeof(unsigned long) == sizeof(unsigned long long));
+        return safe_atollu(s, (unsigned long long*) ret_u);
+}
+static inline int safe_atoli(const char *s, long int *ret_u) {
+        assert_cc(sizeof(long int) == sizeof(long long int));
+        return safe_atolli(s, (long long int*) ret_u);
+}
+#endif
+
 static inline int safe_atou32(const char *s, uint32_t *ret_u) {
         assert_cc(sizeof(uint32_t) == sizeof(unsigned));
         return safe_atou(s, (unsigned*) ret_u);
 }
 
-static inline int safe_atoi32(const char *s, int32_t *ret_u) {
+static inline int safe_atoi32(const char *s, int32_t *ret_i) {
         assert_cc(sizeof(int32_t) == sizeof(int));
-        return safe_atoi(s, (int*) ret_u);
+        return safe_atoi(s, (int*) ret_i);
 }
 
-int safe_atolu(const char *s, unsigned long *ret_u);
-int safe_atoli(const char *s, long int *ret_i);
+static inline int safe_atou64(const char *s, uint64_t *ret_u) {
+        assert_cc(sizeof(uint64_t) == sizeof(unsigned long long));
+        return safe_atollu(s, (unsigned long long*) ret_u);
+}
 
-int safe_atollu(const char *s, unsigned long long *ret_u);
-int safe_atolli(const char *s, long long int *ret_i);
+static inline int safe_atoi64(const char *s, int64_t *ret_i) {
+        assert_cc(sizeof(int64_t) == sizeof(long long int));
+        return safe_atolli(s, (long long int*) ret_i);
+}
 
 char *split(const char *c, size_t *l, const char *separator, char **state);
 char *split_quoted(const char *c, size_t *l, char **state);


More information about the systemd-commits mailing list