[Freeswitch-svn] [commit] r9516 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/soa

Freeswitch SVN mikej at freeswitch.org
Wed Sep 10 12:23:45 EDT 2008


Author: mikej
Date: Wed Sep 10 12:23:44 2008
New Revision: 9516

Modified:
   freeswitch/trunk/libs/sofia-sip/.update
   freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c

Log:
Wed Sep 10 11:45:25 EDT 2008  Pekka Pessi <first.last at nokia.com>
  * soa_static.c: soa_static_process_reject() backs up only if it has to back up



Modified: freeswitch/trunk/libs/sofia-sip/.update
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/.update	(original)
+++ freeswitch/trunk/libs/sofia-sip/.update	Wed Sep 10 12:23:44 2008
@@ -1 +1 @@
-Wed Sep 10 12:23:16 EDT 2008
+Wed Sep 10 12:23:38 EDT 2008

Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c	(original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c	Wed Sep 10 12:23:44 2008
@@ -1473,13 +1473,17 @@
 {
   struct soa_description d[1];
 
-  *d = *ss->ss_local;
-  *ss->ss_local = *ss->ss_previous;
-  ss->ss_local_user_version = ss->ss_previous_user_version;
-  ss->ss_local_remote_version = ss->ss_previous_remote_version;
-
-  memset(ss->ss_previous, 0, (sizeof *ss->ss_previous));
-  soa_description_free(ss, d);
+  if (ss->ss_previous_user_version) {
+    *d = *ss->ss_local;
+    *ss->ss_local = *ss->ss_previous;
+    ss->ss_local_user_version = ss->ss_previous_user_version;
+    ss->ss_local_remote_version = ss->ss_previous_remote_version;
+
+    memset(ss->ss_previous, 0, (sizeof *ss->ss_previous));
+    soa_description_free(ss, d);
+    ss->ss_previous_user_version = 0;
+    ss->ss_previous_remote_version = 0;
+  }
 
   return soa_base_process_reject(ss, NULL);
 }



More information about the Freeswitch-svn mailing list