From 4df42ba9fb2131bb238ee74565d0a80fb7a1b394 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Tue, 11 Aug 2020 21:43:46 +0800 Subject: [PATCH] libc/ftw: Fix error: cast between incompatible function types from 'ftw_cb_t' nftw_cb_t Signed-off-by: Xiang Xiao Change-Id: I9e617ac04127e1e9126de2e3d32b35f2c6d636c0 --- libs/libc/dirent/lib_ftw.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/libc/dirent/lib_ftw.c b/libs/libc/dirent/lib_ftw.c index 4356c837f6..1d5284f100 100644 --- a/libs/libc/dirent/lib_ftw.c +++ b/libs/libc/dirent/lib_ftw.c @@ -35,5 +35,12 @@ int ftw(FAR const char *path, ftw_cb_t fn, int fdlimit) * actually undefined, but works on all real-world machines. */ - return nftw(path, (nftw_cb_t)fn, fdlimit, FTW_PHYS); + union + { + ftw_cb_t ftw; + nftw_cb_t nftw; + } u; + + u.ftw = fn; + return nftw(path, u.nftw, fdlimit, FTW_PHYS); }