ldb:ldb.c - "ldb_set_errstring" can be implemented by using "ldb_asprintf_errstring"
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Wed, 21 Sep 2011 11:43:29 +0000 (13:43 +0200)
committerAndrew Tridgell <tridge@samba.org>
Tue, 11 Oct 2011 06:42:07 +0000 (08:42 +0200)
Signed-off-by: Andrew Tridgell <tridge@samba.org>
lib/ldb/common/ldb.c

index 3adc77ff857e94c3836c2956530c88bfdc7f6f5b..2dd2d1bdde8c0a9e62593536359a0f861f4ea879 100644 (file)
@@ -269,28 +269,25 @@ int ldb_connect(struct ldb_context *ldb, const char *url,
 
 void ldb_set_errstring(struct ldb_context *ldb, const char *err_string)
 {
-       if (ldb->err_string) {
-               talloc_free(ldb->err_string);
-       }
-       ldb->err_string = talloc_strdup(ldb, err_string);
-       if (ldb->flags & LDB_FLG_ENABLE_TRACING) {
-               ldb_debug(ldb, LDB_DEBUG_TRACE, "ldb_set_errstring: %s", ldb->err_string);
-       }
+       ldb_asprintf_errstring(ldb, "%s", err_string);
 }
 
 void ldb_asprintf_errstring(struct ldb_context *ldb, const char *format, ...)
 {
        va_list ap;
-       char *old_string = NULL;
 
        if (ldb->err_string) {
-               old_string = ldb->err_string;
+               talloc_free(ldb->err_string);
        }
 
        va_start(ap, format);
        ldb->err_string = talloc_vasprintf(ldb, format, ap);
        va_end(ap);
-       talloc_free(old_string);
+
+       if (ldb->flags & LDB_FLG_ENABLE_TRACING) {
+               ldb_debug(ldb, LDB_DEBUG_TRACE, "ldb_asprintf/set_errstring: %s",
+                         ldb->err_string);
+       }
 }
 
 void ldb_reset_err_string(struct ldb_context *ldb)