Le mercredi 29 février 2012 à 17:04 +0000, Frederic Crozat a écrit :
> Hi, 
> 
> while trying to use sparse to detect potential endianness errors in
> journald code (apparently, we can't use it for that), I found some other
> warnings with sparse.
> 
> Attached patch fixes those (mostly missing static call, 0 vs NULL and
> macros redefinition).

Better with patch attached ;)
-- 
Frederic Crozat <fcro...@suse.com>
SUSE
>From d07e3f17e21ad4b200d0e076e0f49a3f8e91fae9 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcro...@suse.com>
Date: Wed, 29 Feb 2012 14:42:49 +0100
Subject: [PATCH] fix sparse warnings

---
 src/getty-generator.c |    2 +-
 src/hashmap.c         |    4 ++--
 src/log.c             |    4 ++--
 src/macro.h           |    1 +
 src/mount.c           |    2 +-
 src/util.c            |    4 ++--
 6 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/getty-generator.c b/src/getty-generator.c
index 1263785..7fac43a 100644
--- a/src/getty-generator.c
+++ b/src/getty-generator.c
@@ -28,7 +28,7 @@
 #include "unit-name.h"
 #include "virt.h"
 
-const char *arg_dest = "/tmp";
+static const char *arg_dest = "/tmp";
 
 static int add_symlink(const char *fservice, const char *tservice) {
         char *from = NULL, *to = NULL;
diff --git a/src/hashmap.c b/src/hashmap.c
index 7ef8097..6928118 100644
--- a/src/hashmap.c
+++ b/src/hashmap.c
@@ -55,10 +55,10 @@ struct pool {
         unsigned n_used;
 };
 
-struct pool *first_hashmap_pool = NULL;
+static struct pool *first_hashmap_pool = NULL;
 static void *first_hashmap_tile = NULL;
 
-struct pool *first_entry_pool = NULL;
+static struct pool *first_entry_pool = NULL;
 static void *first_entry_tile = NULL;
 
 static void* allocate_tile(struct pool **first_pool, void **first_tile, size_t tile_size) {
diff --git a/src/log.c b/src/log.c
index c37ab22..e1f511c 100644
--- a/src/log.c
+++ b/src/log.c
@@ -625,11 +625,11 @@ _noreturn_ static void log_assert(const char *text, const char *file, int line,
 }
 #pragma GCC diagnostic pop
 
-void log_assert_failed(const char *text, const char *file, int line, const char *func) {
+_noreturn_ void log_assert_failed(const char *text, const char *file, int line, const char *func) {
         log_assert(text, file, line, func, "Assertion '%s' failed at %s:%u, function %s(). Aborting.");
 }
 
-void log_assert_failed_unreachable(const char *text, const char *file, int line, const char *func) {
+_noreturn_ void log_assert_failed_unreachable(const char *text, const char *file, int line, const char *func) {
         log_assert(text, file, line, func, "Code should not be reached '%s' at %s:%u, function %s(). Aborting.");
 }
 
diff --git a/src/macro.h b/src/macro.h
index 58de001..19f259e 100644
--- a/src/macro.h
+++ b/src/macro.h
@@ -23,6 +23,7 @@
 ***/
 
 #include <assert.h>
+#include <sys/param.h>
 #include <sys/types.h>
 #include <sys/uio.h>
 #include <inttypes.h>
diff --git a/src/mount.c b/src/mount.c
index 0ae964b..f80fcf5 100644
--- a/src/mount.c
+++ b/src/mount.c
@@ -271,7 +271,7 @@ static char* mount_test_option(const char *haystack, const char *needle) {
          * struct mntent */
 
         if (!haystack)
-                return false;
+                return NULL;
 
         zero(me);
         me.mnt_opts = (char*) haystack;
diff --git a/src/util.c b/src/util.c
index e9869ea..bf22f57 100644
--- a/src/util.c
+++ b/src/util.c
@@ -892,7 +892,7 @@ int load_env_file(
                 char ***rl) {
 
         FILE *f;
-        char **m = 0;
+        char **m = NULL;
         int r;
 
         assert(fname);
@@ -4177,7 +4177,7 @@ int wait_for_terminate_and_warn(const char *name, pid_t pid) {
 
 }
 
-void freeze(void) {
+_noreturn_ void freeze(void) {
 
         /* Make sure nobody waits for us on a socket anymore */
         close_all_fds(NULL, 0);
-- 
1.7.7

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to