]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
basic/glob-util: add closedir wrapper to silence gcc
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 5 Feb 2018 09:55:24 +0000 (10:55 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 5 Feb 2018 14:20:46 +0000 (15:20 +0100)
../src/test/test-glob-util.c: In function 'test_glob_no_dot':
../src/test/test-glob-util.c:61:32: warning: cast between incompatible function types from 'int (*)(DIR *)' {aka 'int (*)(struct __dirstream *)'} to 'void (*)(void *)' [-Wcast-function-type]
                 .gl_closedir = (void (*)(void *)) closedir,
                                ^

src/basic/glob-util.c
src/test/test-glob-util.c

index 6e80a1e23b5fac66e5c7e2adf865ca1cb83b9389..a6ba9ef16344cc15dd8230553ceb760f248781fd 100644 (file)
 #include "path-util.h"
 #include "strv.h"
 
+static void _closedir(void* v) {
+        (void) closedir(v);
+}
+
 int safe_glob(const char *path, int flags, glob_t *pglob) {
         int k;
 
@@ -36,7 +40,7 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
         assert(!(flags & GLOB_ALTDIRFUNC));
 
         if (!pglob->gl_closedir)
-                pglob->gl_closedir = (void (*)(void *)) closedir;
+                pglob->gl_closedir = _closedir;
         if (!pglob->gl_readdir)
                 pglob->gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot;
         if (!pglob->gl_opendir)
index bd2f8fcfde6305aaf05b474933320737dcff2fee..ab40a2a4beecee56319f3deabb14fbfd52babd23 100644 (file)
@@ -49,12 +49,16 @@ static void test_glob_exists(void) {
         assert_se(r == 0);
 }
 
+static void _closedir(void* v) {
+        (void) closedir(v);
+}
+
 static void test_glob_no_dot(void) {
         char template[] = "/tmp/test-glob-util.XXXXXXX";
         const char *fn;
 
         _cleanup_globfree_ glob_t g = {
-                .gl_closedir = (void (*)(void *)) closedir,
+                .gl_closedir = _closedir,
                 .gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot,
                 .gl_opendir = (void *(*)(const char *)) opendir,
                 .gl_lstat = lstat,