aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2020-06-14 22:49:36 +0000
committerIngo Schwarze <schwarze@openbsd.org>2020-06-14 22:49:36 +0000
commit77c0aeafdb196f1dfe90683bbff71a3d1cb5fbcf (patch)
tree87e6e841c412635fe5ebcab1897ee8aca7c36eae
parent98bea86787275725dd85ea3efa889650f0b41c87 (diff)
downloadmandoc-77c0aeafdb196f1dfe90683bbff71a3d1cb5fbcf.tar.gz
mandoc-77c0aeafdb196f1dfe90683bbff71a3d1cb5fbcf.tar.zst
mandoc-77c0aeafdb196f1dfe90683bbff71a3d1cb5fbcf.zip
Give the fts_compar struct member a real prototype.
This adds clarity and avoids compiler warnings.
-rw-r--r--compat_fts.c7
-rw-r--r--compat_fts.h3
2 files changed, 7 insertions, 3 deletions
diff --git a/compat_fts.c b/compat_fts.c
index 3859111a..0106923a 100644
--- a/compat_fts.c
+++ b/compat_fts.c
@@ -6,7 +6,7 @@ int dummy;
#else
-/* $Id: compat_fts.c,v 1.14 2017/02/18 12:24:24 schwarze Exp $ */
+/* $Id: compat_fts.c,v 1.15 2020/06/14 22:49:36 schwarze Exp $ */
/* $OpenBSD: fts.c,v 1.56 2016/09/21 04:38:56 guenther Exp $ */
/*-
@@ -62,6 +62,8 @@ static int fts_palloc(FTS *, size_t);
static FTSENT *fts_sort(FTS *, FTSENT *, int);
static unsigned short fts_stat(FTS *, FTSENT *);
+typedef int (*qsort_compar_proto)(const void *, const void *);
+
#define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2])))
#ifndef O_CLOEXEC
#define O_CLOEXEC 0
@@ -585,7 +587,8 @@ fts_sort(FTS *sp, FTSENT *head, int nitems)
}
for (ap = sp->fts_array, p = head; p; p = p->fts_link)
*ap++ = p;
- qsort(sp->fts_array, nitems, sizeof(FTSENT *), sp->fts_compar);
+ qsort(sp->fts_array, nitems, sizeof(FTSENT *),
+ (qsort_compar_proto)sp->fts_compar);
for (head = *(ap = sp->fts_array); --nitems; ++ap)
ap[0]->fts_link = ap[1];
ap[0]->fts_link = NULL;
diff --git a/compat_fts.h b/compat_fts.h
index f4a97a4c..ca3f3a7e 100644
--- a/compat_fts.h
+++ b/compat_fts.h
@@ -43,7 +43,8 @@ typedef struct {
char *fts_path; /* path for this descent */
size_t fts_pathlen; /* sizeof(path) */
int fts_nitems; /* elements in the sort array */
- int (*fts_compar)(); /* compare function */
+ int (*fts_compar)(const struct _ftsent **, const struct _ftsent **);
+ /* compare function */
#define FTS_NOCHDIR 0x0004 /* don't change directories */
#define FTS_PHYSICAL 0x0010 /* physical walk */