diff --git a/ChangeLog b/ChangeLog index e3654158d4..8e56734352 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Feb 13 10:53:08 2005 Kazuo Saito + + * oniggnu.h, oniguruma.h, regcomp.c, st.c: imported + Oni Guruma 3.6.0. + Sun Feb 13 01:33:19 2005 Masatoshi SEKI * lib/erb.rb (ERB::Util.h, u): make it module_function. diff --git a/oniguruma.h b/oniguruma.h index 95cd109384..69dd939e5b 100644 --- a/oniguruma.h +++ b/oniguruma.h @@ -29,10 +29,14 @@ * SUCH DAMAGE. */ +#ifdef __cplusplus +extern "C" { +#endif + #define ONIGURUMA #define ONIGURUMA_VERSION_MAJOR 3 -#define ONIGURUMA_VERSION_MINOR 5 -#define ONIGURUMA_VERSION_TEENY 4 +#define ONIGURUMA_VERSION_MINOR 6 +#define ONIGURUMA_VERSION_TEENY 0 #ifdef __cplusplus # ifndef HAVE_PROTOTYPES @@ -82,6 +86,10 @@ typedef unsigned int OnigDistance; #define ONIG_INFINITE_DISTANCE ~((OnigDistance )0) /* ambiguous match flag */ +typedef unsigned int OnigAmbigType; + +ONIG_EXTERN OnigAmbigType OnigDefaultAmbigFlag; + #define ONIGENC_AMBIGUOUS_MATCH_NONE 0 #define ONIGENC_AMBIGUOUS_MATCH_ASCII_CASE (1<<0) #define ONIGENC_AMBIGUOUS_MATCH_NONASCII_CASE (1<<1) @@ -96,12 +104,8 @@ typedef unsigned int OnigDistance; ( ONIGENC_AMBIGUOUS_MATCH_ASCII_CASE | \ ONIGENC_AMBIGUOUS_MATCH_NONASCII_CASE | \ ONIGENC_AMBIGUOUS_MATCH_COMPOUND ) -#define ONIGENC_AMBIGUOUS_MATCH_DEFAULT \ - (ONIGENC_AMBIGUOUS_MATCH_ASCII_CASE | \ - ONIGENC_AMBIGUOUS_MATCH_NONASCII_CASE | \ - ONIGENC_AMBIGUOUS_MATCH_COMPOUND ) +#define ONIGENC_AMBIGUOUS_MATCH_DEFAULT OnigDefaultAmbigFlag -typedef unsigned int OnigAmbigType; #define ONIGENC_MAX_COMP_AMBIG_CODE_LEN 3 #define ONIGENC_MAX_COMP_AMBIG_CODE_ITEM_NUM 4 @@ -851,6 +855,10 @@ int onig_set_meta_char P_((OnigEncoding enc, unsigned int what, OnigCodePoint co ONIG_EXTERN void onig_copy_encoding P_((OnigEncoding to, OnigEncoding from)); ONIG_EXTERN +OnigAmbigType onig_get_default_ambig_flag P_(()); +ONIG_EXTERN +int onig_set_default_ambig_flag P_((OnigAmbigType ambig_flag)); +ONIG_EXTERN unsigned int onig_get_match_stack_limit_size P_((void)); ONIG_EXTERN int onig_set_match_stack_limit_size P_((unsigned int size)); @@ -861,4 +869,8 @@ const char* onig_version P_((void)); ONIG_EXTERN const char* onig_copyright P_((void)); +#ifdef __cplusplus +} +#endif + #endif /* ONIGURUMA_H */ diff --git a/regcomp.c b/regcomp.c index 116bcb7c9b..80bc13b4c5 100644 --- a/regcomp.c +++ b/regcomp.c @@ -29,6 +29,24 @@ #include "regparse.h" +OnigAmbigType OnigDefaultAmbigFlag = + (ONIGENC_AMBIGUOUS_MATCH_ASCII_CASE | + ONIGENC_AMBIGUOUS_MATCH_NONASCII_CASE); + +extern OnigAmbigType +onig_get_default_ambig_flag() +{ + return OnigDefaultAmbigFlag; +} + +extern int +onig_set_default_ambig_flag(OnigAmbigType ambig_flag) +{ + OnigDefaultAmbigFlag = ambig_flag; + return 0; +} + + #ifndef PLATFORM_UNALIGNED_WORD_ACCESS static unsigned char PadBuf[WORD_ALIGNMENT_SIZE]; #endif diff --git a/st.c b/st.c index cad73288f6..5bce4ff836 100644 --- a/st.c +++ b/st.c @@ -246,6 +246,7 @@ st_free_table(table) ptr = table->bins[i]; while (ptr != 0) { next = ptr->next; + table->type->key_free(ptr->key); free(ptr); ptr = next; }