diff options
author | delphij <delphij@FreeBSD.org> | 2007-11-26 08:57:30 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2007-11-26 08:57:30 +0000 |
commit | 6aa3e25391d160482339ee072c010bcd22dfbbd1 (patch) | |
tree | 16a20dc2cde29bebdf20bd816c0ded0f5a70d738 /contrib/less/search.c | |
parent | 9fc5d689bc82d338622a61df0809dbc8114a76d8 (diff) | |
download | FreeBSD-src-6aa3e25391d160482339ee072c010bcd22dfbbd1.zip FreeBSD-src-6aa3e25391d160482339ee072c010bcd22dfbbd1.tar.gz |
Virgin import of less v416.
Diffstat (limited to 'contrib/less/search.c')
-rw-r--r-- | contrib/less/search.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/contrib/less/search.c b/contrib/less/search.c index b983334..3a15380 100644 --- a/contrib/less/search.c +++ b/contrib/less/search.c @@ -118,13 +118,16 @@ cvt_length(len, ops) int len; int ops; { - if (utf_mode && (ops & CVT_TO_LC)) + if (utf_mode) /* - * Converting case can cause a UTF-8 string to increase in length. - * Multiplying by 3 is the worst case. + * Just copying a string in UTF-8 mode can cause it to grow + * in length. + * Six output bytes for one input byte is the worst case + * (and unfortunately is far more than is needed in any + * non-pathological situation, so this is very wasteful). */ - len *= 3; - return len+1; + len *= 6; + return len + 1; } /* |