瀏覽代碼

mqueue: use static var to return pointer to dynamic queue name

Daniel-Constantin Mierla 11 年之前
父節點
當前提交
6626f9a737
共有 1 個文件被更改,包括 6 次插入7 次删除
  1. 6 7
      modules/mqueue/mqueue_api.c

+ 6 - 7
modules/mqueue/mqueue_api.c

@@ -364,15 +364,14 @@ int pv_parse_mq_name(pv_spec_t *sp, str *in)
 
 
 str *pv_get_mq_name(sip_msg_t *msg, str *in)
 str *pv_get_mq_name(sip_msg_t *msg, str *in)
 {
 {
-	str *queue;
+	static str queue;
+	pv_spec_t *pvs;
+	pv_value_t pvv;
 
 
 	if (in->s[0] != '$')
 	if (in->s[0] != '$')
-		queue = in;
+		return in;
 	else
 	else
 	{
 	{
-		pv_spec_t *pvs;
-		pv_value_t pvv;
-
 		if (pv_locate_name(in) != in->len)
 		if (pv_locate_name(in) != in->len)
 		{
 		{
 			LM_ERR("invalid pv [%.*s]\n", in->len, in->s);
 			LM_ERR("invalid pv [%.*s]\n", in->len, in->s);
@@ -396,10 +395,10 @@ str *pv_get_mq_name(sip_msg_t *msg, str *in)
 			return NULL;
 			return NULL;
 		}
 		}
 
 
-		queue = &pvv.rs;
+		queue = pvv.rs;
 	}
 	}
 
 
-	return queue;
+	return &queue;
 }
 }
 
 
 /**
 /**