The prototypes of function pointers is analysed and
compiler finds the signature mismatches and complain about it.
../kexec-tools-2.0.31/kexec/arch/ppc/fs2dt.c:338:44: error: incompatible
function pointer types passing 'int (const void *, const void *)' to parameter
of type 'int (*)(const struct dirent **, const struct dirent **)'
[-Wincompatible-function-pointer-types]
338 | numlist = scandir(pathname, &namelist, 0, comparefunc);
| ^~~~~~~~~~~
Signed-off-by: Khem Raj <[email protected]>
---
kexec/arch/ppc/fs2dt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kexec/arch/ppc/fs2dt.c b/kexec/arch/ppc/fs2dt.c
index fed499b..4952bfc 100644
--- a/kexec/arch/ppc/fs2dt.c
+++ b/kexec/arch/ppc/fs2dt.c
@@ -292,7 +292,7 @@ static void putprops(char *fn, struct dirent **nlist, int
numlist)
* Compare function used to sort the device-tree directories
* This function will be passed to scandir.
*/
-static int comparefunc(const void *dentry1, const void *dentry2)
+static int comparefunc(const struct dirent ** dentry1, const struct dirent
**dentry2)
{
char *str1 = (*(struct dirent **)dentry1)->d_name;
char *str2 = (*(struct dirent **)dentry2)->d_name;