You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2012/03/19 15:14:56 UTC

svn commit: r1302464 - in /qpid/proton/proton-c/src/engine: engine-internal.h engine.c

Author: rhs
Date: Mon Mar 19 14:14:55 2012
New Revision: 1302464

URL: http://svn.apache.org/viewvc?rev=1302464&view=rev
Log:
dup local source and target

Modified:
    qpid/proton/proton-c/src/engine/engine-internal.h
    qpid/proton/proton-c/src/engine/engine.c

Modified: qpid/proton/proton-c/src/engine/engine-internal.h
URL: http://svn.apache.org/viewvc/qpid/proton/proton-c/src/engine/engine-internal.h?rev=1302464&r1=1302463&r2=1302464&view=diff
==============================================================================
--- qpid/proton/proton-c/src/engine/engine-internal.h (original)
+++ qpid/proton/proton-c/src/engine/engine-internal.h Mon Mar 19 14:14:55 2012
@@ -131,8 +131,8 @@ struct pn_link_t {
   pn_endpoint_t endpoint;
   wchar_t *name;
   pn_session_t *session;
-  const wchar_t *local_source;
-  const wchar_t *local_target;
+  wchar_t *local_source;
+  wchar_t *local_target;
   wchar_t *remote_source;
   wchar_t *remote_target;
   pn_delivery_t *head;

Modified: qpid/proton/proton-c/src/engine/engine.c
URL: http://svn.apache.org/viewvc/qpid/proton/proton-c/src/engine/engine.c?rev=1302464&r1=1302463&r2=1302464&view=diff
==============================================================================
--- qpid/proton/proton-c/src/engine/engine.c (original)
+++ qpid/proton/proton-c/src/engine/engine.c Mon Mar 19 14:14:55 2012
@@ -320,6 +320,8 @@ void pn_link_dump(pn_link_t *link)
 
 void pn_link_uninit(pn_link_t *link)
 {
+  if (link->local_source) free(link->local_source);
+  if (link->local_target) free(link->local_target);
   if (link->remote_source) free(link->remote_source);
   if (link->remote_target) free(link->remote_target);
   pn_remove_link(link->session, link);
@@ -670,12 +672,14 @@ void pn_link_init(pn_link_t *link, int t
 
 void pn_set_source(pn_link_t *link, const wchar_t *source)
 {
-  link->local_source = source;
+  if (link->local_source) free(link->local_source);
+  link->local_source = wcsdup(source);
 }
 
 void pn_set_target(pn_link_t *link, const wchar_t *target)
 {
-  link->local_target = target;
+  if (link->local_target) free(link->local_target);
+  link->local_target = wcsdup(target);
 }
 
 wchar_t *pn_remote_source(pn_link_t *link)



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org