diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-02-19 01:55:14 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-02-19 01:55:14 +0000 |
commit | 3ec562b0bffb8b8b48df56ef7460b59729c19345 (patch) | |
tree | c085090f909cee31ff07f8c4df4e2a12765ec422 | |
parent | a6da3000f891055d63501a206d4a09ca94f64209 (diff) | |
download | perl-3ec562b0bffb8b8b48df56ef7460b59729c19345.tar.gz |
Not extending enough.
p4raw-id: //depot/perl@14758
-rw-r--r-- | pp.c | 4 | ||||
-rw-r--r-- | utf8.h | 6 |
2 files changed, 6 insertions, 4 deletions
@@ -3351,7 +3351,7 @@ PP(pp_uc) } else { (void)SvUPGRADE(TARG, SVt_PV); - SvGROW(TARG, (len * 2) + 1); + SvGROW(TARG, (len * UTF8_MAXLEN_UCLC) + 1); (void)SvPOK_only(TARG); d = (U8*)SvPVX(TARG); send = s + len; @@ -3418,7 +3418,7 @@ PP(pp_lc) } else { (void)SvUPGRADE(TARG, SVt_PV); - SvGROW(TARG, (len * 2) + 1); + SvGROW(TARG, (len * UTF8_MAXLEN_UCLC) + 1); (void)SvPOK_only(TARG); d = (U8*)SvPVX(TARG); send = s + len; @@ -138,9 +138,11 @@ END_EXTERN_C /* how wide can a single UTF8 encoded character become */ #define UTF8_MAXLEN 13 /* how wide a character can become when upper/lowercased */ -#define UTF8_MAXLEN_UCLC (UTF8_MAXLEN*2) +#define UTF8_MAXLEN_UCLC_MULT 3 +#define UTF8_MAXLEN_UCLC (UTF8_MAXLEN*UTF8_MAXLEN_UCLC_MULT) /* how wide a character can become when casefolded */ -#define UTF8_MAXLEN_FOLD (UTF8_MAXLEN*3) +#define UTF8_MAXLEN_FOLD_MULT 3 +#define UTF8_MAXLEN_FOLD (UTF8_MAXLEN*UTF8_MAXLEN_FOLD_MULT) #define IN_BYTES (PL_curcop->op_private & HINT_BYTES) #define DO_UTF8(sv) (SvUTF8(sv) && !IN_BYTES) |