From: Jeremy Allison Date: Tue, 11 Sep 2012 16:06:45 +0000 (-0700) Subject: At Michael's suggestion, factor common code into a function. My bad :-). X-Git-Tag: samba-4.0.0rc1~60 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7c1fd74ba5261aa447c54872e49b374b543b1831;p=thirdparty%2Fsamba.git At Michael's suggestion, factor common code into a function. My bad :-). Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Tue Sep 11 20:08:37 CEST 2012 on sn-devel-104 --- diff --git a/lib/ldb/common/ldb_parse.c b/lib/ldb/common/ldb_parse.c index f47ef433761..33e8444be7d 100644 --- a/lib/ldb/common/ldb_parse.c +++ b/lib/ldb/common/ldb_parse.c @@ -111,6 +111,13 @@ struct ldb_val ldb_binary_decode(TALLOC_CTX *mem_ctx, const char *str) return ret; } +static bool need_encode(unsigned char cval) +{ + if (cval < 0x20 || cval > 0x7E || strchr(" *()\\&|!\"", cval)) { + return true; + } + return false; +} /* encode a blob as a RFC2254 binary string, escaping any @@ -124,8 +131,7 @@ char *ldb_binary_encode(TALLOC_CTX *mem_ctx, struct ldb_val val) unsigned char *buf = val.data; for (i=0;i 0x7E || strchr(" *()\\&|!\"", buf[i])) { + if (need_encode(buf[i])) { len += 2; } } @@ -134,8 +140,7 @@ char *ldb_binary_encode(TALLOC_CTX *mem_ctx, struct ldb_val val) len = 0; for (i=0;i 0x7E || strchr(" *()\\&|!\"", buf[i])) { + if (need_encode(buf[i])) { snprintf(ret+len, 4, "\\%02X", buf[i]); len += 3; } else {