From: Willy Tarreau Date: Tue, 9 Aug 2016 12:29:38 +0000 (+0200) Subject: MINOR: sample: use smp_make_rw() in upper/lower converters X-Git-Tag: v1.7-dev4~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f0645dce4f4db48d3b763f5fc4f68de76f89b278;p=thirdparty%2Fhaproxy.git MINOR: sample: use smp_make_rw() in upper/lower converters There's no point in always duplicating the sample, just ensure it's writable, as was done prior to the smp_dup() change. This should be backported to 1.6 to avoid a performance regression caused by this change (about 30% more time for upper/lower due to the copy). --- diff --git a/src/sample.c b/src/sample.c index e0a880ec6f..77cbd1bf34 100644 --- a/src/sample.c +++ b/src/sample.c @@ -1474,10 +1474,7 @@ static int sample_conv_str2lower(const struct arg *arg_p, struct sample *smp, vo { int i; - if (!smp_dup(smp)) - return 0; - - if (!smp->data.u.str.size) + if (!smp_make_rw(smp)) return 0; for (i = 0; i < smp->data.u.str.len; i++) { @@ -1491,10 +1488,7 @@ static int sample_conv_str2upper(const struct arg *arg_p, struct sample *smp, vo { int i; - if (!smp_dup(smp)) - return 0; - - if (!smp->data.u.str.size) + if (!smp_make_rw(smp)) return 0; for (i = 0; i < smp->data.u.str.len; i++) {