[telepathy-gabble/master] Sanity-check Jingle actions in a few places.

Will Thompson will.thompson at collabora.co.uk
Tue Jun 2 09:01:11 PDT 2009


---
 src/jingle-content.c |    2 +-
 src/jingle-session.c |   12 +++++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/jingle-content.c b/src/jingle-content.c
index 723d1a3..ef560f9 100644
--- a/src/jingle-content.c
+++ b/src/jingle-content.c
@@ -807,7 +807,7 @@ send_content_add_or_accept (GabbleJingleContent *self)
   GabbleJingleContentPrivate *priv = self->priv;
   LmMessage *msg;
   LmMessageNode *sess_node;
-  JingleAction action = JINGLE_ACTION_UNKNOWN;
+  JingleAction action;
   JingleContentState new_state = JINGLE_CONTENT_STATE_EMPTY;
 
   g_assert (gabble_jingle_content_is_ready (self));
diff --git a/src/jingle-session.c b/src/jingle-session.c
index 9189078..11daec4 100644
--- a/src/jingle-session.c
+++ b/src/jingle-session.c
@@ -464,6 +464,8 @@ produce_action (JingleAction action, JingleDialect dialect)
   gboolean gmode = (dialect == JINGLE_DIALECT_GTALK3) ||
       (dialect == JINGLE_DIALECT_GTALK4);
 
+  g_return_val_if_fail (action != JINGLE_ACTION_UNKNOWN, NULL);
+
   switch (action) {
     case JINGLE_ACTION_SESSION_INITIATE:
       return (gmode) ? "initiate" : "session-initiate";
@@ -493,12 +495,10 @@ produce_action (JingleAction action, JingleDialect dialect)
     case JINGLE_ACTION_DESCRIPTION_INFO:
       return "description-info";
     default:
+      /* only reached if g_return_val_if_fail is disabled */
       DEBUG ("unknown action %u", action);
-      g_assert_not_reached ();
-  }
-
-  /* to make gcc not complain */
-  return NULL;
+      return NULL;
+    }
 }
 
 static gboolean
@@ -1472,6 +1472,8 @@ gabble_jingle_session_new_message (GabbleJingleSession *sess,
   gchar *el = NULL, *ns = NULL;
   gboolean gtalk_mode = FALSE;
 
+  g_return_val_if_fail (action != JINGLE_ACTION_UNKNOWN, NULL);
+
   g_assert ((action == JINGLE_ACTION_SESSION_INITIATE) ||
             (priv->state > JS_STATE_PENDING_CREATED));
   g_assert (GABBLE_IS_JINGLE_SESSION (sess));
-- 
1.5.6.5




More information about the telepathy-commits mailing list