diff options
Diffstat (limited to 'support')
-rw-r--r-- | support/ChangeLog | 21 | ||||
-rw-r--r-- | support/regcomp.c | 4 | ||||
-rw-r--r-- | support/regex.h | 62 | ||||
-rw-r--r-- | support/regex_internal.h | 3 | ||||
-rw-r--r-- | support/regexec.c | 4 |
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; |