summaryrefslogtreecommitdiff
path: root/include/regex.h
diff options
context:
space:
mode:
authorMike Barcroft <mike@FreeBSD.org>2002-10-03 18:12:03 +0000
committerMike Barcroft <mike@FreeBSD.org>2002-10-03 18:12:03 +0000
commit96cb38342dc1ee9c4a7c3180d4ae102642b5cbb3 (patch)
treeb2359d47b9aef6e5589f11b330859f1ebf6edb92 /include/regex.h
parenta52b6b83a2ed8dd07ac1954c976f320412e0cddb (diff)
downloadsrc-test2-96cb38342dc1ee9c4a7c3180d4ae102642b5cbb3.tar.gz
src-test2-96cb38342dc1ee9c4a7c3180d4ae102642b5cbb3.zip
Cope with a GCC bug by using an alternative, but equivalent function
prototype for regexec(). Noticed by: robert
Notes
Notes: svn path=/head/; revision=104416
Diffstat (limited to 'include/regex.h')
-rw-r--r--include/regex.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/regex.h b/include/regex.h
index 658ce8ed6cec..2c49a41d8097 100644
--- a/include/regex.h
+++ b/include/regex.h
@@ -105,8 +105,13 @@ typedef struct {
__BEGIN_DECLS
int regcomp(regex_t * __restrict, const char * __restrict, int);
size_t regerror(int, const regex_t * __restrict, char * __restrict, size_t);
+/*
+ * XXX forth parameter should be `regmatch_t [__restrict]', but isn't because
+ * of a bug in GCC 3.2 (when -std=c99 is specified) which perceives this as a
+ * syntax error.
+ */
int regexec(const regex_t * __restrict, const char * __restrict, size_t,
- regmatch_t [__restrict], int);
+ regmatch_t * __restrict, int);
void regfree(regex_t *);
__END_DECLS