summaryrefslogtreecommitdiffstats
path: root/contrib/less/search.c
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2007-11-26 08:57:30 +0000
committerdelphij <delphij@FreeBSD.org>2007-11-26 08:57:30 +0000
commit6aa3e25391d160482339ee072c010bcd22dfbbd1 (patch)
tree16a20dc2cde29bebdf20bd816c0ded0f5a70d738 /contrib/less/search.c
parent9fc5d689bc82d338622a61df0809dbc8114a76d8 (diff)
downloadFreeBSD-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.c13
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;
}
/*
OpenPOWER on IntegriCloud