[PATCH] Small cleanups in tdb_wrap.c

Volker Lendecke Volker.Lendecke at SerNet.DE
Thu Jul 23 09:20:32 UTC 2015


Hi!

Review&push appreciated!

Thanks,

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
From 79698949d1d54fb1d2f3fa7feca08190b17b5ba3 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Sun, 12 Jul 2015 12:37:43 +0200
Subject: [PATCH 1/2] tdb_wrap: Use talloc_pooled_object

One malloc() less

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 lib/tdb_wrap/tdb_wrap.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib/tdb_wrap/tdb_wrap.c b/lib/tdb_wrap/tdb_wrap.c
index a1bddf3..04f8d48 100644
--- a/lib/tdb_wrap/tdb_wrap.c
+++ b/lib/tdb_wrap/tdb_wrap.c
@@ -92,14 +92,13 @@ static struct tdb_wrap_private *tdb_wrap_private_open(TALLOC_CTX *mem_ctx,
 	struct tdb_wrap_private *result;
 	struct tdb_logging_context lctx;
 
-	result = talloc(mem_ctx, struct tdb_wrap_private);
+	result = talloc_pooled_object(mem_ctx, struct tdb_wrap_private,
+				      1, strlen(name)+1);
 	if (result == NULL) {
 		return NULL;
 	}
+	/* Doesn't fail, see talloc_pooled_object */
 	result->name = talloc_strdup(result, name);
-	if (result->name == NULL) {
-		goto fail;
-	}
 
 	lctx.log_fn = tdb_wrap_log;
 	lctx.log_private = NULL;
-- 
1.9.1


From 0a10344f0735213d3b77b6999371a3fa883c60a9 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Sun, 12 Jul 2015 12:45:33 +0200
Subject: [PATCH 2/2] tdb_wrap: Use a struct initializer

... this saves 3 lines a few bytes .text :-)

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 lib/tdb_wrap/tdb_wrap.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/lib/tdb_wrap/tdb_wrap.c b/lib/tdb_wrap/tdb_wrap.c
index 04f8d48..864656f 100644
--- a/lib/tdb_wrap/tdb_wrap.c
+++ b/lib/tdb_wrap/tdb_wrap.c
@@ -90,7 +90,7 @@ static struct tdb_wrap_private *tdb_wrap_private_open(TALLOC_CTX *mem_ctx,
 						      mode_t mode)
 {
 	struct tdb_wrap_private *result;
-	struct tdb_logging_context lctx;
+	struct tdb_logging_context lctx = { .log_fn = tdb_wrap_log };
 
 	result = talloc_pooled_object(mem_ctx, struct tdb_wrap_private,
 				      1, strlen(name)+1);
@@ -100,9 +100,6 @@ static struct tdb_wrap_private *tdb_wrap_private_open(TALLOC_CTX *mem_ctx,
 	/* Doesn't fail, see talloc_pooled_object */
 	result->name = talloc_strdup(result, name);
 
-	lctx.log_fn = tdb_wrap_log;
-	lctx.log_private = NULL;
-
 	result->tdb = tdb_open_ex(name, hash_size, tdb_flags,
 				  open_flags, mode, &lctx, NULL);
 	if (result->tdb == NULL) {
-- 
1.9.1



More information about the samba-technical mailing list