Applied temporary fix to error code returned by pj_gethostbyname(). Under *nix, the error code is returned in h_errno, and the error string is reported by hstrerror(). But it is a bit too complex to support this for the moment, so we just return PJ_ERESOLVE for any failure returned by gethostbyname()
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@722 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjlib/include/pj/errno.h b/pjlib/include/pj/errno.h
index 8b5906c..5744a75 100644
--- a/pjlib/include/pj/errno.h
+++ b/pjlib/include/pj/errno.h
@@ -285,6 +285,11 @@
* Size is too big.
*/
#define PJ_ETOOBIG (PJ_ERRNO_START_STATUS + 17)/* 70017 */
+/**
+ * @hideinitializer
+ * Error in gethostbyname()
+ */
+#define PJ_ERESOLVE (PJ_ERRNO_START_STATUS + 18)/* 70018 */
/** @} */ /* pj_errnum */
diff --git a/pjlib/src/pj/addr_resolv_sock.c b/pjlib/src/pj/addr_resolv_sock.c
index 36c1c57..af3d40c 100644
--- a/pjlib/src/pj/addr_resolv_sock.c
+++ b/pjlib/src/pj/addr_resolv_sock.c
@@ -38,7 +38,7 @@
he = gethostbyname(copy);
if (!he)
- return PJ_RETURN_OS_ERROR(pj_get_native_netos_error());
+ return PJ_ERESOLVE;
phe->h_name = he->h_name;
phe->h_aliases = he->h_aliases;
diff --git a/pjlib/src/pj/errno.c b/pjlib/src/pj/errno.c
index da06f99..b3a9b32 100644
--- a/pjlib/src/pj/errno.c
+++ b/pjlib/src/pj/errno.c
@@ -64,6 +64,7 @@
PJ_BUILD_ERR(PJ_EEXISTS, "Object already exists" ),
PJ_BUILD_ERR(PJ_EEOF, "End of file" ),
PJ_BUILD_ERR(PJ_ETOOBIG, "Size is too big"),
+ PJ_BUILD_ERR(PJ_ERESOLVE, "gethostbyname() has returned error"),
};
#endif /* PJ_HAS_ERROR_STRING */