telepathy-idle: room-config: simplify password protection validation
Jonny Lamb
jonny at kemper.freedesktop.org
Wed May 16 10:45:10 PDT 2012
Module: telepathy-idle
Branch: master
Commit: cd6059e686d95fb1d8d9f080abedce6ab95a9c82
URL: http://cgit.freedesktop.org/telepathy/telepathy-idle/commit/?id=cd6059e686d95fb1d8d9f080abedce6ab95a9c82
Author: Jonny Lamb <jonny.lamb at collabora.co.uk>
Date: Wed May 16 18:37:09 2012 +0100
room-config: simplify password protection validation
Yeah okay I might have been calling tp_asv_get_* a little too many
times...
Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
---
src/room-config.c | 27 +++++++++++----------------
1 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/src/room-config.c b/src/room-config.c
index 27f0c9b..ceeeddc 100644
--- a/src/room-config.c
+++ b/src/room-config.c
@@ -181,12 +181,16 @@ idle_room_config_update_configuration_async (
GSimpleAsyncResult *result = g_simple_async_result_new ((GObject *) self,
callback, user_data, idle_room_config_update_configuration_async);
gboolean present = FALSE;
+ gboolean password_protected = FALSE;
+ const gchar *password = NULL;
+
+ password_protected = tp_asv_get_boolean (validated_properties,
+ GUINT_TO_POINTER (TP_BASE_ROOM_CONFIG_PASSWORD_PROTECTED), &present);
+ password = tp_asv_get_string (validated_properties,
+ GUINT_TO_POINTER (TP_BASE_ROOM_CONFIG_PASSWORD));
/* first, do sanity checking for Password & PasswordProtected */
- if (tp_asv_get_boolean (validated_properties,
- GUINT_TO_POINTER (TP_BASE_ROOM_CONFIG_PASSWORD_PROTECTED), NULL)
- && tp_str_empty (tp_asv_get_string (validated_properties,
- GUINT_TO_POINTER (TP_BASE_ROOM_CONFIG_PASSWORD))))
+ if (password_protected && tp_str_empty (password))
{
g_simple_async_result_set_error (result, TP_ERROR,
TP_ERROR_INVALID_ARGUMENT,
@@ -204,11 +208,7 @@ idle_room_config_update_configuration_async (
* http://i.imgur.com/FIOwY.jpg
*/
- if (!tp_asv_get_boolean (validated_properties,
- GUINT_TO_POINTER (TP_BASE_ROOM_CONFIG_PASSWORD_PROTECTED), &present)
- && present
- && tp_asv_get_string (validated_properties,
- GUINT_TO_POINTER (TP_BASE_ROOM_CONFIG_PASSWORD)) != NULL)
+ if (!password_protected && present && password != NULL)
{
g_simple_async_result_set_error (result, TP_ERROR,
TP_ERROR_INVALID_ARGUMENT,
@@ -257,11 +257,8 @@ idle_room_config_update_configuration_async (
}
/* set a new password */
- if (g_hash_table_lookup (validated_properties,
- GUINT_TO_POINTER (TP_BASE_ROOM_CONFIG_PASSWORD)) != NULL)
+ if (password != NULL)
{
- const gchar *password = tp_asv_get_string (validated_properties,
- GUINT_TO_POINTER (TP_BASE_ROOM_CONFIG_PASSWORD));
gchar *cmd;
/* we've already validated this; either PasswordProtected was
@@ -279,9 +276,7 @@ idle_room_config_update_configuration_async (
}
/* unset a password */
- if (!tp_asv_get_boolean (validated_properties,
- GUINT_TO_POINTER (TP_BASE_ROOM_CONFIG_PASSWORD_PROTECTED), &present)
- && present)
+ if (!password_protected && present)
{
gchar *cmd;
More information about the telepathy-commits
mailing list