Fix #1212:
 - Updated pj_register_strerror() to just return PJ_SUCCESS when the same range
and handler is being re-registered.
 - Removed the usage of static flag of error string handler registration in some
modules, which prevent the re-registration of the handler, e.g: in restarting
pjsua, as such flags never got reseted.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3455 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/src/pjsip-simple/evsub.c b/pjsip/src/pjsip-simple/evsub.c
index bf26a3d..dc662aa 100644
--- a/pjsip/src/pjsip-simple/evsub.c
+++ b/pjsip/src/pjsip-simple/evsub.c
@@ -287,8 +287,10 @@
 	{ "NOTIFY", 6}
     };
 
-    pj_register_strerror(PJSIP_SIMPLE_ERRNO_START, PJ_ERRNO_SPACE_SIZE,
-			 &pjsipsimple_strerror);
+    status = pj_register_strerror(PJSIP_SIMPLE_ERRNO_START,
+				  PJ_ERRNO_SPACE_SIZE,
+				  &pjsipsimple_strerror);
+    pj_assert(status == PJ_SUCCESS);
 
     PJ_ASSERT_RETURN(endpt != NULL, PJ_EINVAL);
     PJ_ASSERT_RETURN(mod_evsub.mod.id == -1, PJ_EINVALIDOP);
diff --git a/pjsip/src/pjsip/sip_endpoint.c b/pjsip/src/pjsip/sip_endpoint.c
index e0fe4f0..3a63288 100644
--- a/pjsip/src/pjsip/sip_endpoint.c
+++ b/pjsip/src/pjsip/sip_endpoint.c
@@ -117,9 +117,6 @@
 pj_status_t pjsip_tel_uri_subsys_init(void);
 
 
-/* Specifies whether error subsystem has been registered to pjlib. */
-static int error_subsys_initialized;
-
 /*
  * This is the global handler for memory allocation failure, for pools that
  * are created by the endpoint (by default, all pools ARE allocated by 
@@ -425,11 +422,9 @@
     pj_lock_t *lock = NULL;
 
 
-    if (!error_subsys_initialized) {
-	pj_register_strerror(PJSIP_ERRNO_START, PJ_ERRNO_SPACE_SIZE,
-			     &pjsip_strerror);
-	error_subsys_initialized = 1;
-    }
+    status = pj_register_strerror(PJSIP_ERRNO_START, PJ_ERRNO_SPACE_SIZE,
+				  &pjsip_strerror);
+    pj_assert(status == PJ_SUCCESS);
 
     PJ_LOG(5, (THIS_FILE, "Creating endpoint instance..."));