aboutsummaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
Diffstat (limited to 'support')
-rw-r--r--support/ChangeLog21
-rw-r--r--support/regcomp.c4
-rw-r--r--support/regex.h62
-rw-r--r--support/regex_internal.h3
-rw-r--r--support/regexec.c4
5 files changed, 57 insertions, 37 deletions
diff --git a/support/ChangeLog b/support/ChangeLog
index ac5468dc..848afde8 100644
--- a/support/ChangeLog
+++ b/support/ChangeLog
@@ -1,3 +1,24 @@
+2017-12-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * regex.h: Restore GLIBC's use of '__' in parameter names. They
+ have to be that way since public headers can't use identifiers that
+ users might define as macros. At least now I understand why
+ things are the way they are.
+
+2017-12-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ Small sync with gnulib based on mails in libc-alpha@sourceware.com.
+
+ Use re_malloc etc. consistently.
+
+ * regcomp.c (re_comp, analyze): Use re_malloc/re_free instead of
+ malloc/free.
+ * regexec.c (push_fail_stack): Use re_realloc instead of realloc.
+
+ Other changes:
+
+ * regex_internal.h: Synchronize on __libc_lock_define usage.
+
2017-12-05 Arnold D. Robbins <arnold@skeeve.com>
* regex.h: Yes define __USE_GNU. Needed for non-GLIBC systems.
diff --git a/support/regcomp.c b/support/regcomp.c
index 4fca1108..0d0cbf69 100644
--- a/support/regcomp.c
+++ b/support/regcomp.c
@@ -715,7 +715,7 @@ re_comp (const char *s)
if (re_comp_buf.fastmap == NULL)
{
- re_comp_buf.fastmap = (char *) malloc (SBC_MAX);
+ re_comp_buf.fastmap = (char *) re_malloc (SBC_MAX);
if (re_comp_buf.fastmap == NULL)
return (char *) gettext (__re_error_msgid
+ __re_error_msgid_idx[(int) REG_ESPACE]);
@@ -1217,7 +1217,7 @@ analyze (regex_t *preg)
break;
if (i == preg->re_nsub)
{
- free (dfa->subexp_map);
+ re_free (dfa->subexp_map);
dfa->subexp_map = NULL;
}
}
diff --git a/support/regex.h b/support/regex.h
index adddd9ee..a68bf6a6 100644
--- a/support/regex.h
+++ b/support/regex.h
@@ -470,7 +470,7 @@ typedef struct
#ifdef __USE_GNU
/* Sets the current default syntax to SYNTAX, and return the old syntax.
You can also simply assign to the `re_syntax_options' variable. */
-extern reg_syntax_t re_set_syntax (reg_syntax_t syntax);
+extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax);
/* Compile the regular expression PATTERN, with length LENGTH
and syntax given by the global `re_syntax_options', into the buffer
@@ -480,14 +480,14 @@ extern reg_syntax_t re_set_syntax (reg_syntax_t syntax);
Note that the translate table must either have been initialised by
`regcomp', with a malloc'ed value, or set to NULL before calling
`regfree'. */
-extern const char *re_compile_pattern (const char *pattern, size_t length,
- struct re_pattern_buffer *buffer);
+extern const char *re_compile_pattern (const char *__pattern, size_t __length,
+ struct re_pattern_buffer *__buffer);
/* Compile a fastmap for the compiled pattern in BUFFER; used to
accelerate searches. Return 0 if successful and -2 if was an
internal error. */
-extern int re_compile_fastmap (struct re_pattern_buffer *buffer);
+extern int re_compile_fastmap (struct re_pattern_buffer *__buffer);
/* Search in the string STRING (with length LENGTH) for the pattern
@@ -495,30 +495,30 @@ extern int re_compile_fastmap (struct re_pattern_buffer *buffer);
characters. Return the starting position of the match, -1 for no
match, or -2 for an internal error. Also return register
information in REGS (if REGS and BUFFER->no_sub are nonzero). */
-extern int re_search (struct re_pattern_buffer *buffer, const char *c_string,
- int length, int start, int range,
- struct re_registers *regs);
+extern int re_search (struct re_pattern_buffer *__buffer, const char *__string,
+ int __length, int __start, int __range,
+ struct re_registers *__regs);
/* Like `re_search', but search in the concatenation of STRING1 and
STRING2. Also, stop searching at index START + STOP. */
-extern int re_search_2 (struct re_pattern_buffer *buffer,
- const char *string1, int length1,
- const char *string2, int length2, int start,
- int range, struct re_registers *regs, int stop);
+extern int re_search_2 (struct re_pattern_buffer *__buffer,
+ const char *__string1, int __length1,
+ const char *__string2, int __length2, int __start,
+ int __range, struct re_registers *__regs, int __stop);
/* Like `re_search', but return how many characters in STRING the regexp
in BUFFER matched, starting at position START. */
-extern int re_match (struct re_pattern_buffer *buffer, const char *c_string,
- int length, int start, struct re_registers *regs);
+extern int re_match (struct re_pattern_buffer *__buffer, const char *__string,
+ int __length, int __start, struct re_registers *__regs);
/* Relates to `re_match' as `re_search_2' relates to `re_search'. */
-extern int re_match_2 (struct re_pattern_buffer *buffer,
- const char *string1, int length1,
- const char *string2, int length2, int start,
- struct re_registers *regs, int stop);
+extern int re_match_2 (struct re_pattern_buffer *__buffer,
+ const char *__string1, int __length1,
+ const char *__string2, int __length2, int __start,
+ struct re_registers *__regs, int __stop);
/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
@@ -533,10 +533,10 @@ extern int re_match_2 (struct re_pattern_buffer *buffer,
Unless this function is called, the first search or match using
PATTERN_BUFFER will allocate its own register data, without
freeing the old data. */
-extern void re_set_registers (struct re_pattern_buffer *buffer,
- struct re_registers *regs,
- unsigned int num_regs,
- regoff_t *starts, regoff_t *ends);
+extern void re_set_registers (struct re_pattern_buffer *__buffer,
+ struct re_registers *__regs,
+ unsigned int __num_regs,
+ regoff_t *__starts, regoff_t *__ends);
#endif /* Use GNU */
#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_MISC)
@@ -569,19 +569,19 @@ extern int re_exec (const char *);
#endif
/* POSIX compatibility. */
-extern int regcomp (regex_t *__restrict preg,
- const char *__restrict pattern,
- int cflags);
+extern int regcomp (regex_t *__restrict __preg,
+ const char *__restrict __pattern,
+ int __cflags);
-extern int regexec (const regex_t *__restrict preg,
- const char *__restrict c_string, size_t nmatch,
- regmatch_t pmatch[__restrict_arr],
- int eflags);
+extern int regexec (const regex_t *__restrict __preg,
+ const char *__restrict __string, size_t __nmatch,
+ regmatch_t __pmatch[__restrict_arr],
+ int __eflags);
-extern size_t regerror (int errcode, const regex_t *__restrict preg,
- char *__restrict errbuf, size_t errbuf_size);
+extern size_t regerror (int __errcode, const regex_t *__restrict __preg,
+ char *__restrict __errbuf, size_t __errbuf_size);
-extern void regfree (regex_t *preg);
+extern void regfree (regex_t *__preg);
#ifdef __cplusplus
diff --git a/support/regex_internal.h b/support/regex_internal.h
index dbcf9a32..f97ecbe2 100644
--- a/support/regex_internal.h
+++ b/support/regex_internal.h
@@ -47,7 +47,6 @@
#if defined _LIBC
# include <libc-lock.h>
#else
-# define __libc_lock_define(CLASS,NAME)
# define __libc_lock_init(NAME) do { } while (0)
# define __libc_lock_lock(NAME) do { } while (0)
# define __libc_lock_unlock(NAME) do { } while (0)
@@ -700,7 +699,7 @@ struct re_dfa_t
#ifdef DEBUG
char* re_str;
#endif
-#if defined _LIBC
+#ifdef _LIBC
__libc_lock_define (, lock)
#endif
};
diff --git a/support/regexec.c b/support/regexec.c
index 05deab00..0587ad24 100644
--- a/support/regexec.c
+++ b/support/regexec.c
@@ -1327,8 +1327,8 @@ push_fail_stack (struct re_fail_stack_t *fs, int str_idx, int dest_node,
if (fs->num == fs->alloc)
{
struct re_fail_stack_ent_t *new_array;
- new_array = realloc (fs->stack, (sizeof (struct re_fail_stack_ent_t)
- * fs->alloc * 2));
+ new_array = re_realloc (fs->stack, struct re_fail_stack_ent_t,
+ fs->alloc * 2);
if (new_array == NULL)
return REG_ESPACE;
fs->alloc *= 2;