[telepathy-mission-control/master] McdAccount: in all accessors for presences, allow NULL output arguments
Simon McVittie
simon.mcvittie at collabora.co.uk
Mon Apr 13 04:08:48 PDT 2009
This costs ~1 CPU instruction per parameter per call, makes callers
simpler, and is the usual GLib/GObject convention.h
---
src/mcd-account.c | 33 ++++++++++++++++++++++++---------
1 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/src/mcd-account.c b/src/mcd-account.c
index 469b5f9..e57a95b 100644
--- a/src/mcd-account.c
+++ b/src/mcd-account.c
@@ -1899,9 +1899,14 @@ mcd_account_get_requested_presence (McdAccount *account,
{
McdAccountPrivate *priv = account->priv;
- *presence = priv->req_presence_type;
- *status = priv->req_presence_status;
- *message = priv->req_presence_message;
+ if (presence != NULL)
+ *presence = priv->req_presence_type;
+
+ if (status != NULL)
+ *status = priv->req_presence_status;
+
+ if (message != NULL)
+ *message = priv->req_presence_message;
}
/* TODO: remove when the relative members will become public */
@@ -1913,9 +1918,14 @@ mcd_account_get_current_presence (McdAccount *account,
{
McdAccountPrivate *priv = account->priv;
- *presence = priv->curr_presence_type;
- *status = priv->curr_presence_status;
- *message = priv->curr_presence_message;
+ if (presence != NULL)
+ *presence = priv->curr_presence_type;
+
+ if (status != NULL)
+ *status = priv->curr_presence_status;
+
+ if (message != NULL)
+ *message = priv->curr_presence_message;
}
gboolean
@@ -1934,9 +1944,14 @@ mcd_account_get_automatic_presence (McdAccount *account,
{
McdAccountPrivate *priv = account->priv;
- *presence = priv->auto_presence_type;
- *status = priv->auto_presence_status;
- *message = priv->auto_presence_message;
+ if (presence != NULL)
+ *presence = priv->auto_presence_type;
+
+ if (status != NULL)
+ *status = priv->auto_presence_status;
+
+ if (message != NULL)
+ *message = priv->auto_presence_message;
}
/* TODO: remove when the relative members will become public */
--
1.5.6.5
More information about the telepathy-commits
mailing list