1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

At Michael's suggestion, factor common code into a function. My bad :-).

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Sep 11 20:08:37 CEST 2012 on sn-devel-104
This commit is contained in:
Jeremy Allison 2012-09-11 09:06:45 -07:00
parent 33d9a22dcb
commit 7c1fd74ba5

View File

@ -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<val.length;i++) {
unsigned int cval = buf[i];
if (cval < 0x20 || cval > 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<val.length;i++) {
unsigned int cval = buf[i];
if (cval < 0x20 || cval > 0x7E || strchr(" *()\\&|!\"", buf[i])) {
if (need_encode(buf[i])) {
snprintf(ret+len, 4, "\\%02X", buf[i]);
len += 3;
} else {