mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 16:21:06 +00:00
* posix/regex.h: Pretty printing.
Clean up namespace a bit.
This commit is contained in:
parent
df8d52c5d2
commit
2ff89ea46f
@ -1,3 +1,8 @@
|
|||||||
|
2005-09-30 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* posix/regex.h: Pretty printing.
|
||||||
|
Clean up namespace a bit.
|
||||||
|
|
||||||
2005-09-30 Jakub Jelinek <jakub@redhat.com>
|
2005-09-30 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* posix/regexec.c (update_cur_sifted_state, check_arrival,
|
* posix/regexec.c (update_cur_sifted_state, check_arrival,
|
||||||
|
112
posix/regex.h
112
posix/regex.h
@ -351,70 +351,66 @@ typedef enum
|
|||||||
|
|
||||||
struct re_pattern_buffer
|
struct re_pattern_buffer
|
||||||
{
|
{
|
||||||
/* [[[begin pattern_buffer]]] */
|
/* Space that holds the compiled pattern. It is declared as
|
||||||
/* Space that holds the compiled pattern. It is declared as
|
`unsigned char *' because its elements are sometimes used as
|
||||||
`unsigned char *' because its elements are
|
array indexes. */
|
||||||
sometimes used as array indexes. */
|
|
||||||
unsigned char *buffer;
|
unsigned char *buffer;
|
||||||
|
|
||||||
/* Number of bytes to which `buffer' points. */
|
/* Number of bytes to which `buffer' points. */
|
||||||
unsigned long int allocated;
|
unsigned long int allocated;
|
||||||
|
|
||||||
/* Number of bytes actually used in `buffer'. */
|
/* Number of bytes actually used in `buffer'. */
|
||||||
unsigned long int used;
|
unsigned long int used;
|
||||||
|
|
||||||
/* Syntax setting with which the pattern was compiled. */
|
/* Syntax setting with which the pattern was compiled. */
|
||||||
reg_syntax_t syntax;
|
reg_syntax_t syntax;
|
||||||
|
|
||||||
/* Pointer to a fastmap, if any, otherwise zero. re_search uses
|
/* Pointer to a fastmap, if any, otherwise zero. re_search uses the
|
||||||
the fastmap, if there is one, to skip over impossible
|
fastmap, if there is one, to skip over impossible starting points
|
||||||
starting points for matches. */
|
for matches. */
|
||||||
char *fastmap;
|
char *fastmap;
|
||||||
|
|
||||||
/* Either a translate table to apply to all characters before
|
/* Either a translate table to apply to all characters before
|
||||||
comparing them, or zero for no translation. The translation
|
comparing them, or zero for no translation. The translation is
|
||||||
is applied to a pattern when it is compiled and to a string
|
applied to a pattern when it is compiled and to a string when it
|
||||||
when it is matched. */
|
is matched. */
|
||||||
RE_TRANSLATE_TYPE translate;
|
RE_TRANSLATE_TYPE translate;
|
||||||
|
|
||||||
/* Number of subexpressions found by the compiler. */
|
/* Number of subexpressions found by the compiler. */
|
||||||
size_t re_nsub;
|
size_t re_nsub;
|
||||||
|
|
||||||
/* Zero if this pattern cannot match the empty string, one else.
|
/* Zero if this pattern cannot match the empty string, one else.
|
||||||
Well, in truth it's used only in `re_search_2', to see
|
Well, in truth it's used only in `re_search_2', to see whether or
|
||||||
whether or not we should use the fastmap, so we don't set
|
not we should use the fastmap, so we don't set this absolutely
|
||||||
this absolutely perfectly; see `re_compile_fastmap' (the
|
perfectly; see `re_compile_fastmap' (the `duplicate' case). */
|
||||||
`duplicate' case). */
|
|
||||||
unsigned can_be_null : 1;
|
unsigned can_be_null : 1;
|
||||||
|
|
||||||
/* If REGS_UNALLOCATED, allocate space in the `regs' structure
|
/* If REGS_UNALLOCATED, allocate space in the `regs' structure
|
||||||
for `max (RE_NREGS, re_nsub + 1)' groups.
|
for `max (RE_NREGS, re_nsub + 1)' groups.
|
||||||
If REGS_REALLOCATE, reallocate space if necessary.
|
If REGS_REALLOCATE, reallocate space if necessary.
|
||||||
If REGS_FIXED, use what's there. */
|
If REGS_FIXED, use what's there. */
|
||||||
#define REGS_UNALLOCATED 0
|
#define REGS_UNALLOCATED 0
|
||||||
#define REGS_REALLOCATE 1
|
#define REGS_REALLOCATE 1
|
||||||
#define REGS_FIXED 2
|
#define REGS_FIXED 2
|
||||||
unsigned regs_allocated : 2;
|
unsigned regs_allocated : 2;
|
||||||
|
|
||||||
/* Set to zero when `regex_compile' compiles a pattern; set to one
|
/* Set to zero when `regex_compile' compiles a pattern; set to one
|
||||||
by `re_compile_fastmap' if it updates the fastmap. */
|
by `re_compile_fastmap' if it updates the fastmap. */
|
||||||
unsigned fastmap_accurate : 1;
|
unsigned fastmap_accurate : 1;
|
||||||
|
|
||||||
/* If set, `re_match_2' does not return information about
|
/* If set, `re_match_2' does not return information about
|
||||||
subexpressions. */
|
subexpressions. */
|
||||||
unsigned no_sub : 1;
|
unsigned no_sub : 1;
|
||||||
|
|
||||||
/* If set, a beginning-of-line anchor doesn't match at the
|
/* If set, a beginning-of-line anchor doesn't match at the beginning
|
||||||
beginning of the string. */
|
of the string. */
|
||||||
unsigned not_bol : 1;
|
unsigned not_bol : 1;
|
||||||
|
|
||||||
/* Similarly for an end-of-line anchor. */
|
/* Similarly for an end-of-line anchor. */
|
||||||
unsigned not_eol : 1;
|
unsigned not_eol : 1;
|
||||||
|
|
||||||
/* If true, an anchor at a newline matches. */
|
/* If true, an anchor at a newline matches. */
|
||||||
unsigned newline_anchor : 1;
|
unsigned newline_anchor : 1;
|
||||||
|
|
||||||
/* [[[end pattern_buffer]]] */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct re_pattern_buffer regex_t;
|
typedef struct re_pattern_buffer regex_t;
|
||||||
@ -454,19 +450,19 @@ typedef struct
|
|||||||
|
|
||||||
/* Sets the current default syntax to SYNTAX, and return the old syntax.
|
/* Sets the current default syntax to SYNTAX, and return the old syntax.
|
||||||
You can also simply assign to the `re_syntax_options' variable. */
|
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
|
/* Compile the regular expression PATTERN, with length LENGTH
|
||||||
and syntax given by the global `re_syntax_options', into the buffer
|
and syntax given by the global `re_syntax_options', into the buffer
|
||||||
BUFFER. Return NULL if successful, and an error string if not. */
|
BUFFER. Return NULL if successful, and an error string if not. */
|
||||||
extern const char *re_compile_pattern (const char *pattern, size_t length,
|
extern const char *re_compile_pattern (const char *__pattern, size_t __length,
|
||||||
struct re_pattern_buffer *buffer);
|
struct re_pattern_buffer *__buffer);
|
||||||
|
|
||||||
|
|
||||||
/* Compile a fastmap for the compiled pattern in BUFFER; used to
|
/* Compile a fastmap for the compiled pattern in BUFFER; used to
|
||||||
accelerate searches. Return 0 if successful and -2 if was an
|
accelerate searches. Return 0 if successful and -2 if was an
|
||||||
internal error. */
|
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
|
/* Search in the string STRING (with length LENGTH) for the pattern
|
||||||
@ -474,29 +470,30 @@ extern int re_compile_fastmap (struct re_pattern_buffer *buffer);
|
|||||||
characters. Return the starting position of the match, -1 for no
|
characters. Return the starting position of the match, -1 for no
|
||||||
match, or -2 for an internal error. Also return register
|
match, or -2 for an internal error. Also return register
|
||||||
information in REGS (if REGS and BUFFER->no_sub are nonzero). */
|
information in REGS (if REGS and BUFFER->no_sub are nonzero). */
|
||||||
extern int re_search (struct re_pattern_buffer *buffer, const char *string,
|
extern int re_search (struct re_pattern_buffer *__buffer, const char *__string,
|
||||||
int length, int start, int range,
|
int __length, int __start, int __range,
|
||||||
struct re_registers *regs);
|
struct re_registers *__regs);
|
||||||
|
|
||||||
|
|
||||||
/* Like `re_search', but search in the concatenation of STRING1 and
|
/* Like `re_search', but search in the concatenation of STRING1 and
|
||||||
STRING2. Also, stop searching at index START + STOP. */
|
STRING2. Also, stop searching at index START + STOP. */
|
||||||
extern int re_search_2 (struct re_pattern_buffer *buffer, const char *string1,
|
extern int re_search_2 (struct re_pattern_buffer *__buffer,
|
||||||
int length1, const char *string2, int length2,
|
const char *__string1, int __length1,
|
||||||
int start, int range, struct re_registers *regs,
|
const char *__string2, int __length2, int __start,
|
||||||
int stop);
|
int __range, struct re_registers *__regs, int __stop);
|
||||||
|
|
||||||
|
|
||||||
/* Like `re_search', but return how many characters in STRING the regexp
|
/* Like `re_search', but return how many characters in STRING the regexp
|
||||||
in BUFFER matched, starting at position START. */
|
in BUFFER matched, starting at position START. */
|
||||||
extern int re_match (struct re_pattern_buffer *buffer, const char *string,
|
extern int re_match (struct re_pattern_buffer *__buffer, const char *__string,
|
||||||
int length, int start, struct re_registers *regs);
|
int __length, int __start, struct re_registers *__regs);
|
||||||
|
|
||||||
|
|
||||||
/* Relates to `re_match' as `re_search_2' relates to `re_search'. */
|
/* 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,
|
extern int re_match_2 (struct re_pattern_buffer *__buffer,
|
||||||
int length1, const char *string2, int length2,
|
const char *__string1, int __length1,
|
||||||
int start, struct re_registers *regs, int stop);
|
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
|
/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
|
||||||
@ -511,9 +508,10 @@ extern int re_match_2 (struct re_pattern_buffer *buffer, const char *string1,
|
|||||||
Unless this function is called, the first search or match using
|
Unless this function is called, the first search or match using
|
||||||
PATTERN_BUFFER will allocate its own register data, without
|
PATTERN_BUFFER will allocate its own register data, without
|
||||||
freeing the old data. */
|
freeing the old data. */
|
||||||
extern void re_set_registers (struct re_pattern_buffer *buffer,
|
extern void re_set_registers (struct re_pattern_buffer *__buffer,
|
||||||
struct re_registers *regs, unsigned num_regs,
|
struct re_registers *__regs,
|
||||||
regoff_t *starts, regoff_t *ends);
|
unsigned int __num_regs,
|
||||||
|
regoff_t *__starts, regoff_t *__ends);
|
||||||
|
|
||||||
#if defined _REGEX_RE_COMP || defined _LIBC
|
#if defined _REGEX_RE_COMP || defined _LIBC
|
||||||
# ifndef _CRAY
|
# ifndef _CRAY
|
||||||
@ -564,11 +562,3 @@ extern void regfree (regex_t *__preg);
|
|||||||
#endif /* C++ */
|
#endif /* C++ */
|
||||||
|
|
||||||
#endif /* regex.h */
|
#endif /* regex.h */
|
||||||
|
|
||||||
/*
|
|
||||||
Local variables:
|
|
||||||
make-backup-files: t
|
|
||||||
version-control: t
|
|
||||||
trim-versions-without-asking: nil
|
|
||||||
End:
|
|
||||||
*/
|
|
||||||
|
Loading…
Reference in New Issue
Block a user