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:
parent
33d9a22dcb
commit
7c1fd74ba5
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user