D-Bus: Use a helper function to get possibly NULL strings
This type of check is used in quite a few getter functions, so add a helper function to take care of it. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
dbf524946b
commit
77fcbf7ff1
4 changed files with 52 additions and 68 deletions
|
@ -516,6 +516,27 @@ dbus_bool_t wpas_dbus_simple_array_array_property_getter(DBusMessageIter *iter,
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* wpas_dbus_string_property_getter - Get string type property
|
||||
* @iter: Message iter to use when appending arguments
|
||||
* @val: Pointer to place holding property value, can be %NULL
|
||||
* @error: On failure an error describing the failure
|
||||
* Returns: TRUE if the request was successful, FALSE if it failed
|
||||
*
|
||||
* Generic getter for string type properties. %NULL is converted to an empty
|
||||
* string.
|
||||
*/
|
||||
dbus_bool_t wpas_dbus_string_property_getter(DBusMessageIter *iter,
|
||||
const void *val,
|
||||
DBusError *error)
|
||||
{
|
||||
if (!val)
|
||||
val = "";
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&val, error);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* wpas_dbus_handler_create_interface - Request registration of a network iface
|
||||
* @message: Pointer to incoming dbus message
|
||||
|
@ -3086,10 +3107,8 @@ dbus_bool_t wpas_dbus_getter_ifname(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
const char *ifname = wpa_s->ifname;
|
||||
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&ifname, error);
|
||||
return wpas_dbus_string_property_getter(iter, wpa_s->ifname, error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3107,7 +3126,6 @@ dbus_bool_t wpas_dbus_getter_driver(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
const char *driver;
|
||||
|
||||
if (wpa_s->driver == NULL || wpa_s->driver->name == NULL) {
|
||||
wpa_printf(MSG_DEBUG, "%s[dbus]: wpa_s has no driver set",
|
||||
|
@ -3117,9 +3135,8 @@ dbus_bool_t wpas_dbus_getter_driver(
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
driver = wpa_s->driver->name;
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&driver, error);
|
||||
return wpas_dbus_string_property_getter(iter, wpa_s->driver->name,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3232,10 +3249,9 @@ dbus_bool_t wpas_dbus_getter_bridge_ifname(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
const char *bridge_ifname = wpa_s->bridge_ifname;
|
||||
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&bridge_ifname, error);
|
||||
return wpas_dbus_string_property_getter(iter, wpa_s->bridge_ifname,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3253,13 +3269,8 @@ dbus_bool_t wpas_dbus_getter_config_file(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
char *confname = "";
|
||||
|
||||
if (wpa_s->confname)
|
||||
confname = wpa_s->confname;
|
||||
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&confname, error);
|
||||
return wpas_dbus_string_property_getter(iter, wpa_s->confname, error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3399,14 +3410,10 @@ dbus_bool_t wpas_dbus_getter_pkcs11_engine_path(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
const char *pkcs11_engine_path;
|
||||
|
||||
if (wpa_s->conf->pkcs11_engine_path == NULL)
|
||||
pkcs11_engine_path = "";
|
||||
else
|
||||
pkcs11_engine_path = wpa_s->conf->pkcs11_engine_path;
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&pkcs11_engine_path, error);
|
||||
return wpas_dbus_string_property_getter(iter,
|
||||
wpa_s->conf->pkcs11_engine_path,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3424,14 +3431,10 @@ dbus_bool_t wpas_dbus_getter_pkcs11_module_path(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
const char *pkcs11_module_path;
|
||||
|
||||
if (wpa_s->conf->pkcs11_module_path == NULL)
|
||||
pkcs11_module_path = "";
|
||||
else
|
||||
pkcs11_module_path = wpa_s->conf->pkcs11_module_path;
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&pkcs11_module_path, error);
|
||||
return wpas_dbus_string_property_getter(iter,
|
||||
wpa_s->conf->pkcs11_module_path,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -43,6 +43,10 @@ dbus_bool_t wpas_dbus_simple_array_array_property_getter(DBusMessageIter *iter,
|
|||
size_t array_len,
|
||||
DBusError *error);
|
||||
|
||||
dbus_bool_t wpas_dbus_string_property_getter(DBusMessageIter *iter,
|
||||
const void *val,
|
||||
DBusError *error);
|
||||
|
||||
DBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,
|
||||
struct wpa_global *global);
|
||||
|
||||
|
|
|
@ -2352,19 +2352,12 @@ dbus_bool_t wpas_dbus_getter_p2p_group_passphrase(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
char *p_pass;
|
||||
struct wpa_ssid *ssid = wpa_s->current_ssid;
|
||||
|
||||
if (ssid == NULL)
|
||||
return FALSE;
|
||||
|
||||
p_pass = ssid->passphrase;
|
||||
if (!p_pass)
|
||||
p_pass = "";
|
||||
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&p_pass, error);
|
||||
|
||||
return wpas_dbus_string_property_getter(iter, ssid->passphrase, error);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -412,12 +412,10 @@ dbus_bool_t wpas_dbus_getter_config_methods(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
char *methods = wpa_s->conf->config_methods;
|
||||
|
||||
if (methods == NULL)
|
||||
methods = "";
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&methods, error);
|
||||
return wpas_dbus_string_property_getter(iter,
|
||||
wpa_s->conf->config_methods,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -470,12 +468,9 @@ dbus_bool_t wpas_dbus_getter_wps_device_name(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
char *methods = wpa_s->conf->device_name;
|
||||
|
||||
if (!methods)
|
||||
methods = "";
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&methods, error);
|
||||
return wpas_dbus_string_property_getter(iter, wpa_s->conf->device_name,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -529,12 +524,9 @@ dbus_bool_t wpas_dbus_getter_wps_manufacturer(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
char *manufacturer = wpa_s->conf->manufacturer;
|
||||
|
||||
if (!manufacturer)
|
||||
manufacturer = "";
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&manufacturer, error);
|
||||
return wpas_dbus_string_property_getter(iter, wpa_s->conf->manufacturer,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -588,12 +580,9 @@ dbus_bool_t wpas_dbus_getter_wps_device_model_name(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
char *model_name = wpa_s->conf->model_name;
|
||||
|
||||
if (!model_name)
|
||||
model_name = "";
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&model_name, error);
|
||||
return wpas_dbus_string_property_getter(iter, wpa_s->conf->model_name,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -646,12 +635,9 @@ dbus_bool_t wpas_dbus_getter_wps_device_model_number(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
char *model_number = wpa_s->conf->model_number;
|
||||
|
||||
if (!model_number)
|
||||
model_number = "";
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&model_number, error);
|
||||
return wpas_dbus_string_property_getter(iter, wpa_s->conf->model_number,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -705,12 +691,10 @@ dbus_bool_t wpas_dbus_getter_wps_device_serial_number(
|
|||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = user_data;
|
||||
char *model_number = wpa_s->conf->serial_number;
|
||||
|
||||
if (!model_number)
|
||||
model_number = "";
|
||||
return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING,
|
||||
&model_number, error);
|
||||
return wpas_dbus_string_property_getter(iter,
|
||||
wpa_s->conf->serial_number,
|
||||
error);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue