NetHack's regex function prototypes into nhregex.h

There was an issue with Windows mingw build because the function
prototypes were not available. Place them into a distinct
header file nhregex.h and include it from extern.h, and
available for cppregex.cpp to include without the rest of
extern.h (which can give some problems with c++).
This commit is contained in:
nhmall
2024-11-30 17:08:54 -05:00
parent 8f2b979f32
commit bc88266081
3 changed files with 19 additions and 7 deletions

View File

@@ -2074,12 +2074,7 @@ extern void tutorial(boolean);
#endif /* MAKEDEFS_C MDLIB_C CPPREGEX_C */
/* ### {cpp,pmatch,posix}regex.c ### */
extern struct nhregex *regex_init(void);
extern boolean regex_compile(const char *, struct nhregex *) NONNULLARG1;
extern char *regex_error_desc(struct nhregex *, char *) NONNULLARG2;
extern boolean regex_match(const char *, struct nhregex *) NO_NNARGS;
extern void regex_free(struct nhregex *) NONNULLARG1;
#include "nhregex.h"
#if !defined(MAKEDEFS_C) && !defined(MDLIB_C) && !defined(CPPREGEX_C)

17
include/nhregex.h Normal file
View File

@@ -0,0 +1,17 @@
/* NetHack 3.7 nhregex.h $NHDT-Date: $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: $ */
/* NetHack may be freely redistributed. See license for details. */
#ifndef NHREGEX_H
#define NHREGEX_H
/* ### {cpp,pmatch,posix}regex.c ### */
extern struct nhregex *regex_init(void);
extern boolean regex_compile(const char *, struct nhregex *) NONNULLARG1;
extern char *regex_error_desc(struct nhregex *, char *) NONNULLARG2;
extern boolean regex_match(const char *, struct nhregex *) NO_NNARGS;
extern void regex_free(struct nhregex *) NONNULLARG1;
#endif /* NHREGEX_H */
/*extern.h*/

View File

@@ -10,7 +10,7 @@
extern "C" {
#include "config.h"
#define CPPREGEX_C
//#include "extern.h"
#include "nhregex.h"
} // extern "C"