chiark / gitweb /
tmpfiles: use casts instead of warning suppression
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 26 Jan 2015 15:39:03 +0000 (10:39 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 26 Jan 2015 15:39:03 +0000 (10:39 -0500)
This warning got its own name only in gcc5, so the suppression does
not work in gcc4, and generates a warning of its own. Use a cast,
which is ugly too, but less so.

src/tmpfiles/tmpfiles.c

index d70dbc470753676428c8b7fa6c47b8bd54118b24..d60d5ba6ff2d30cc43d44193d01bbf16ab2d6019 100644 (file)
@@ -879,17 +879,13 @@ static int item_do_children(Item *i, const char *path, action_t action) {
 }
 
 static int glob_item(Item *i, action_t action, bool recursive) {
-DISABLE_WARNING_INCOMPATIBLE_POINTER_TYPES
-DISABLE_WARNING_DECLARATION_AFTER_STATEMENT
         _cleanup_globfree_ glob_t g = {
-                .gl_closedir = closedir,
-                .gl_readdir = readdir,
-                .gl_opendir = opendir_nomod,
+                .gl_closedir = (void (*)(void *)) closedir,
+                .gl_readdir = (struct dirent *(*)(void *)) readdir,
+                .gl_opendir = (void *(*)(const char *)) opendir_nomod,
                 .gl_lstat = lstat,
                 .gl_stat = stat,
         };
-REENABLE_WARNING
-REENABLE_WARNING
         int r = 0, k;
         char **fn;