More ticket #421: fixed SIP messaging components to support IPv6 format

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@1610 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/src/test-pjsip/uri_test.c b/pjsip/src/test-pjsip/uri_test.c
index 413c6fe..612a841 100644
--- a/pjsip/src/test-pjsip/uri_test.c
+++ b/pjsip/src/test-pjsip/uri_test.c
@@ -76,7 +76,8 @@
 static pjsip_uri *create_uri32( pj_pool_t *pool );
 static pjsip_uri *create_uri33( pj_pool_t *pool );
 static pjsip_uri *create_uri34( pj_pool_t *pool );
-//static pjsip_uri *create_uri35( pj_pool_t *pool );
+static pjsip_uri *create_uri35( pj_pool_t *pool );
+static pjsip_uri *create_uri36( pj_pool_t *pool );
 static pjsip_uri *create_dummy( pj_pool_t *pool );
 
 #define ERR_NOT_EQUAL	-1001
@@ -318,7 +319,21 @@
 	&create_uri34,
 	"tel:911;p1=p1;p2=p2"
     },
-    
+    {
+	/* 35: IPv6 in host and maddr parameter */
+	PJ_SUCCESS,
+	"sip:user@[::1];maddr=[::01]",
+	&create_uri35,
+	"sip:user@[::1];maddr=[::01]"
+    },
+    {
+	/* 36: IPv6 in host and maddr, without username */
+	PJ_SUCCESS,
+	"sip:[::1];maddr=[::01]",
+	&create_uri36,
+	"sip:[::1];maddr=[::01]"
+    }
+
 };
 
 static pjsip_uri *create_uri0(pj_pool_t *pool)
@@ -669,6 +684,27 @@
     return (pjsip_uri*)uri;    
 }
 
+/* "sip:user@[::1];maddr=[::01]" */
+static pjsip_uri *create_uri35( pj_pool_t *pool )
+{
+    pjsip_sip_uri *url;
+    url = pjsip_sip_uri_create(pool, 0);
+    url->user = pj_str("user");
+    url->host = pj_str("::1");
+    url->maddr_param = pj_str("::01");
+    return (pjsip_uri*)url;
+}
+
+/* "sip:[::1];maddr=[::01]" */
+static pjsip_uri *create_uri36( pj_pool_t *pool )
+{
+    pjsip_sip_uri *url;
+    url = pjsip_sip_uri_create(pool, 0);
+    url->host = pj_str("::1");
+    url->maddr_param = pj_str("::01");
+    return (pjsip_uri*)url;
+
+}
 
 static pjsip_uri *create_dummy(pj_pool_t *pool)
 {
@@ -824,6 +860,7 @@
     return 0;
 }
 
+#if INCLUDE_BENCHMARKS
 static int uri_benchmark(unsigned *p_parse, unsigned *p_print, unsigned *p_cmp)
 {
     unsigned i, loop;
@@ -909,7 +946,7 @@
 on_return:
     return status;
 }
-
+#endif	/* INCLUDE_BENCHMARKS */
 
 /*****************************************************************************/
 
@@ -929,6 +966,7 @@
     if (status != PJ_SUCCESS)
 	return status;
 
+#if INCLUDE_BENCHMARKS
     for (i=0; i<COUNT; ++i) {
 	PJ_LOG(3,(THIS_FILE, "  benchmarking (%d of %d)...", i+1, COUNT));
 	status = uri_benchmark(&run[i].parse, &run[i].print, &run[i].cmp);
@@ -993,6 +1031,8 @@
 
     report_ival("uri-cmp-per-sec", max, "URI/sec", desc);
 
+#endif	/* INCLUDE_BENCHMARKS */
+
     return PJ_SUCCESS;
 }