At Michael's suggestion, factor common code into a function. My bad :-).
authorJeremy Allison <jra@samba.org>
Tue, 11 Sep 2012 16:06:45 +0000 (09:06 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 11 Sep 2012 18:08:37 +0000 (20:08 +0200)
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Sep 11 20:08:37 CEST 2012 on sn-devel-104

lib/ldb/common/ldb_parse.c

index f47ef4337619016451c8c19c622d7dca0e2123b8..33e8444be7d3e11a7cee7f560efbf71bfe83dbfe 100644 (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 {