[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] exclude: port to strict C99
From: |
Paul Eggert |
Subject: |
[PATCH] exclude: port to strict C99 |
Date: |
Fri, 18 Apr 2014 22:29:55 -0700 |
Strict C does not allow converting a function pointer to void *
and vice versa. Pass a pointer to a function pointer instead.
* lib/exclude.c (add_exclude_file):
Pass the address of the function pointer.
(call_addfn): And deference the address here, to match.
---
ChangeLog | 9 +++++++++
lib/exclude.c | 6 +++---
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index fb25112..5d38d82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2014-04-18 Paul Eggert <address@hidden>
+
+ exclude: port to strict C99
+ Strict C does not allow converting a function pointer to void *
+ and vice versa. Pass a pointer to a function pointer instead.
+ * lib/exclude.c (add_exclude_file):
+ Pass the address of the function pointer.
+ (call_addfn): And deference the address here, to match.
+
2014-04-17 Paul Eggert <address@hidden>
regex: do not depend on malloc-gnu
diff --git a/lib/exclude.c b/lib/exclude.c
index 201394a..14b59b7 100644
--- a/lib/exclude.c
+++ b/lib/exclude.c
@@ -668,8 +668,8 @@ add_exclude_fp (void (*add_func) (struct exclude *, char
const *, int, void *),
static void
call_addfn (struct exclude *ex, char const *pattern, int options, void *data)
{
- void (*addfn) (struct exclude *, char const *, int) = data;
- addfn (ex, pattern, options);
+ void (**addfnptr) (struct exclude *, char const *, int) = data;
+ (*addfnptr) (ex, pattern, options);
}
int
@@ -686,7 +686,7 @@ add_exclude_file (void (*add_func) (struct exclude *, char
const *, int),
else if (! (in = fopen (file_name, "r")))
return -1;
- rc = add_exclude_fp (call_addfn, ex, in, options, line_end, add_func);
+ rc = add_exclude_fp (call_addfn, ex, in, options, line_end, &add_func);
if (!use_stdin && fclose (in) != 0)
rc = -1;
--
1.9.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] exclude: port to strict C99,
Paul Eggert <=