>From 8c84bc4616107a683765cdb1d60105998d87baff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20B=C5=99ezina?= Date: Mon, 12 May 2014 22:54:01 +0200 Subject: [PATCH 6/6] SBUS: Return empty string if a getter returns NULL In line with getters never returning errors, a getter should return an empty string instead of NULL in case a string-like property in SSSD is not set. --- src/sbus/sbus_codegen | 5 ++++- src/tests/sbus_codegen_tests_generated.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/sbus/sbus_codegen b/src/sbus/sbus_codegen index a8f91b784ffaa5a17620792df7285df4b508749f..b671e939fcc7c29a2ba424e785e967111d32323c 100755 --- a/src/sbus/sbus_codegen +++ b/src/sbus/sbus_codegen @@ -318,7 +318,10 @@ def source_getter_invoker(prop): out(");") out("") - out(" out_val = prop_val;") + if prop.type == "s": + out(" out_val = prop_val == NULL ? \"\" : prop_val;") + else: + out(" out_val = prop_val;") if prop.is_array: out(" return sbus_request_return_array_as_variant(dbus_req, %s, (uint8_t*)out_val, prop_len, sizeof(%s));", prop.dbus_constant, prop.sssd_type) else: diff --git a/src/tests/sbus_codegen_tests_generated.c b/src/tests/sbus_codegen_tests_generated.c index 4ace0365044ac1edec3c8774da2231c82e054017..0aee500c93665c16bf51365846520ce42fcb5a38 100644 --- a/src/tests/sbus_codegen_tests_generated.c +++ b/src/tests/sbus_codegen_tests_generated.c @@ -764,7 +764,7 @@ static int invoke_get_s(struct sbus_request *dbus_req, void *function_ptr) (handler)(dbus_req, dbus_req->intf->instance_data, &prop_val); - out_val = prop_val; + out_val = prop_val == NULL ? "" : prop_val; return sbus_request_return_as_variant(dbus_req, DBUS_TYPE_STRING, &out_val); } -- 1.9.0