Skip to content

Commit 1fe1017

Browse files
committed
basic/glob-util: add closedir wrapper to silence gcc
../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, ^
1 parent 24c2c56 commit 1fe1017

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/basic/glob-util.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,18 @@
2929
#include "path-util.h"
3030
#include "strv.h"
3131

32+
static void _closedir(void* v) {
33+
(void) closedir(v);
34+
}
35+
3236
int safe_glob(const char *path, int flags, glob_t *pglob) {
3337
int k;
3438

3539
/* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
3640
assert(!(flags & GLOB_ALTDIRFUNC));
3741

3842
if (!pglob->gl_closedir)
39-
pglob->gl_closedir = (void (*)(void *)) closedir;
43+
pglob->gl_closedir = _closedir;
4044
if (!pglob->gl_readdir)
4145
pglob->gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot;
4246
if (!pglob->gl_opendir)

src/test/test-glob-util.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,16 @@ static void test_glob_exists(void) {
4949
assert_se(r == 0);
5050
}
5151

52+
static void _closedir(void* v) {
53+
(void) closedir(v);
54+
}
55+
5256
static void test_glob_no_dot(void) {
5357
char template[] = "/tmp/test-glob-util.XXXXXXX";
5458
const char *fn;
5559

5660
_cleanup_globfree_ glob_t g = {
57-
.gl_closedir = (void (*)(void *)) closedir,
61+
.gl_closedir = _closedir,
5862
.gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot,
5963
.gl_opendir = (void *(*)(const char *)) opendir,
6064
.gl_lstat = lstat,

0 commit comments

Comments
 (0)