]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb_ldif: be less horribly efficient in debugging
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 17 Oct 2018 03:28:25 +0000 (16:28 +1300)
committerDouglas Bagnall <dbagnall@samba.org>
Thu, 18 Oct 2018 11:17:30 +0000 (13:17 +0200)
perf said all the time was in strlen.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Douglas Bagnall <dbagnall@samba.org>
Autobuild-Date(master): Thu Oct 18 13:17:30 CEST 2018 on sn-devel-144

lib/ldb/common/ldb_ldif.c

index e23b568707d5c99d83bbf6defa928b05bfb7a945..ec1859b5c0d66dc6df96897d1486e1c551c7086e 100644 (file)
@@ -313,6 +313,7 @@ static int ldb_ldif_write_trace(struct ldb_context *ldb,
 
        for (i=0;i<msg->num_elements;i++) {
                const struct ldb_schema_attribute *a;
+               size_t namelen = strlen(msg->elements[i].name);
 
                if (msg->elements[i].name == NULL) {
                        ldb_debug(ldb, LDB_DEBUG_ERROR,
@@ -347,7 +348,6 @@ static int ldb_ldif_write_trace(struct ldb_context *ldb,
                        CHECK_RET;
                        continue;
                }
-
                for (j=0;j<msg->elements[i].num_values;j++) {
                        struct ldb_val v;
                        bool use_b64_encode = false;
@@ -371,7 +371,7 @@ static int ldb_ldif_write_trace(struct ldb_context *ldb,
                                CHECK_RET;
                                ret = base64_encode_f(ldb, fprintf_fn, private_data,
                                                      (char *)v.data, v.length,
-                                                     strlen(msg->elements[i].name)+3);
+                                                     namelen + 3);
                                CHECK_RET;
                                ret = fprintf_fn(private_data, "\n");
                                CHECK_RET;
@@ -384,7 +384,7 @@ static int ldb_ldif_write_trace(struct ldb_context *ldb,
                                } else {
                                        ret = fold_string(fprintf_fn, private_data,
                                                          (char *)v.data, v.length,
-                                                         strlen(msg->elements[i].name)+2);
+                                                         namelen + 2);
                                }
                                CHECK_RET;
                                ret = fprintf_fn(private_data, "\n");