diff options
Diffstat (limited to 'posix/regex_internal.h')
-rw-r--r-- | posix/regex_internal.h | 69 |
1 files changed, 39 insertions, 30 deletions
diff --git a/posix/regex_internal.h b/posix/regex_internal.h index ea9a30c16e..8f11ba7a44 100644 --- a/posix/regex_internal.h +++ b/posix/regex_internal.h @@ -349,35 +349,44 @@ typedef struct re_string_t re_string_t; struct re_dfa_t; typedef struct re_dfa_t re_dfa_t; + +#ifndef _LIBC +# ifdef __i386__ +# define internal_function __attribute ((regparm (3), stdcall)) +# else +# define internal_function +# endif +#endif + #ifndef RE_NO_INTERNAL_PROTOTYPES static reg_errcode_t re_string_allocate (re_string_t *pstr, const char *str, int len, int init_len, RE_TRANSLATE_TYPE trans, int icase, - const re_dfa_t *dfa); + const re_dfa_t *dfa) internal_function; static reg_errcode_t re_string_construct (re_string_t *pstr, const char *str, int len, RE_TRANSLATE_TYPE trans, - int icase, const re_dfa_t *dfa); + int icase, const re_dfa_t *dfa) internal_function; static reg_errcode_t re_string_reconstruct (re_string_t *pstr, int idx, - int eflags, int newline); + int eflags, int newline) internal_function; static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, - int new_buf_len); + int new_buf_len) internal_function; # ifdef RE_ENABLE_I18N -static void build_wcs_buffer (re_string_t *pstr); -static int build_wcs_upper_buffer (re_string_t *pstr); +static void build_wcs_buffer (re_string_t *pstr) internal_function; +static int build_wcs_upper_buffer (re_string_t *pstr) internal_function; # endif /* RE_ENABLE_I18N */ -static void build_upper_buffer (re_string_t *pstr); -static void re_string_translate_buffer (re_string_t *pstr); -static void re_string_destruct (re_string_t *pstr); +static void build_upper_buffer (re_string_t *pstr) internal_function; +static void re_string_translate_buffer (re_string_t *pstr) internal_function; +static void re_string_destruct (re_string_t *pstr) internal_function; # ifdef RE_ENABLE_I18N -static int re_string_elem_size_at (const re_string_t *pstr, int idx); -static inline int re_string_char_size_at (const re_string_t *pstr, int idx); -static inline wint_t re_string_wchar_at (const re_string_t *pstr, int idx); +static int re_string_elem_size_at (const re_string_t *pstr, int idx) internal_function; +static inline int re_string_char_size_at (const re_string_t *pstr, int idx) internal_function; +static inline wint_t re_string_wchar_at (const re_string_t *pstr, int idx) internal_function; # endif /* RE_ENABLE_I18N */ static unsigned int re_string_context_at (const re_string_t *input, int idx, - int eflags, int newline_anchor); + int eflags, int newline_anchor) internal_function; static unsigned char re_string_peek_byte_case (const re_string_t *pstr, - int idx); -static unsigned char re_string_fetch_byte_case (re_string_t *pstr); + int idx) internal_function; +static unsigned char re_string_fetch_byte_case (re_string_t *pstr) internal_function; #endif #define re_string_peek_byte(pstr, offset) \ ((pstr)->mbs[(pstr)->cur_idx + offset]) @@ -629,38 +638,38 @@ struct re_dfa_t }; #ifndef RE_NO_INTERNAL_PROTOTYPES -static reg_errcode_t re_node_set_alloc (re_node_set *set, int size); -static reg_errcode_t re_node_set_init_1 (re_node_set *set, int elem); +static reg_errcode_t re_node_set_alloc (re_node_set *set, int size) internal_function; +static reg_errcode_t re_node_set_init_1 (re_node_set *set, int elem) internal_function; static reg_errcode_t re_node_set_init_2 (re_node_set *set, int elem1, - int elem2); + int elem2) internal_function; #define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set)) static reg_errcode_t re_node_set_init_copy (re_node_set *dest, - const re_node_set *src); + const re_node_set *src) internal_function; static reg_errcode_t re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1, - const re_node_set *src2); + const re_node_set *src2) internal_function; static reg_errcode_t re_node_set_init_union (re_node_set *dest, const re_node_set *src1, - const re_node_set *src2); + const re_node_set *src2) internal_function; static reg_errcode_t re_node_set_merge (re_node_set *dest, - const re_node_set *src); -static int re_node_set_insert (re_node_set *set, int elem); + const re_node_set *src) internal_function; +static int re_node_set_insert (re_node_set *set, int elem) internal_function; static int re_node_set_compare (const re_node_set *set1, - const re_node_set *set2); -static int re_node_set_contains (const re_node_set *set, int elem); -static void re_node_set_remove_at (re_node_set *set, int idx); + const re_node_set *set2) internal_function; +static int re_node_set_contains (const re_node_set *set, int elem) internal_function; +static void re_node_set_remove_at (re_node_set *set, int idx) internal_function; #define re_node_set_remove(set,id) \ (re_node_set_remove_at (set, re_node_set_contains (set, id) - 1)) #define re_node_set_empty(p) ((p)->nelem = 0) #define re_node_set_free(set) re_free ((set)->elems) -static int re_dfa_add_node (re_dfa_t *dfa, re_token_t token, int mode); +static int re_dfa_add_node (re_dfa_t *dfa, re_token_t token, int mode) internal_function; static re_dfastate_t *re_acquire_state (reg_errcode_t *err, re_dfa_t *dfa, - const re_node_set *nodes); + const re_node_set *nodes) internal_function; static re_dfastate_t *re_acquire_state_context (reg_errcode_t *err, re_dfa_t *dfa, const re_node_set *nodes, - unsigned int context); -static void free_state (re_dfastate_t *state); + unsigned int context) internal_function; +static void free_state (re_dfastate_t *state) internal_function; #endif |