summaryrefslogtreecommitdiff
path: root/pjlib/src/pj/ip_helper_symbian.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pjlib/src/pj/ip_helper_symbian.cpp')
-rw-r--r--pjlib/src/pj/ip_helper_symbian.cpp31
1 files changed, 26 insertions, 5 deletions
diff --git a/pjlib/src/pj/ip_helper_symbian.cpp b/pjlib/src/pj/ip_helper_symbian.cpp
index 44b8012c..f10c57da 100644
--- a/pjlib/src/pj/ip_helper_symbian.cpp
+++ b/pjlib/src/pj/ip_helper_symbian.cpp
@@ -20,12 +20,16 @@
#include <pj/addr_resolv.h>
#include <pj/assert.h>
#include <pj/errno.h>
+#include <pj/log.h>
#include <pj/string.h>
#include <pj/compat/socket.h>
#include "os_symbian.h"
+#define THIS_FILE "ip_helper_symbian.cpp"
+#define TRACE_ME 0
+
static pj_status_t rsock_enum_interface(int af,
unsigned *p_cnt,
pj_sockaddr ifs[])
@@ -58,14 +62,31 @@ static pj_status_t rsock_enum_interface(int af,
{
TInetAddr &iAddress = info().iAddress;
int namelen;
-
- if (iAddress.Family() != (unsigned)af) {
- continue;
- }
+
+#if TRACE_ME
+ if (1) {
+ pj_sockaddr a;
+ char ipaddr[PJ_INET6_ADDRSTRLEN+2];
+
+ namelen = sizeof(pj_sockaddr);
+ if (PjSymbianOS::Addr2pj(iAddress, a, &namelen,
+ PJ_FALSE) == PJ_SUCCESS)
+ {
+ PJ_LOG(5,(THIS_FILE, "Enum: found address %s",
+ pj_sockaddr_print(&a, ipaddr, sizeof(ipaddr), 2)));
+ }
+ }
+#endif
namelen = sizeof(ifs[i]);
- if (PjSymbianOS::Addr2pj(iAddress, ifs[i], &namelen) != PJ_SUCCESS)
+ if (PjSymbianOS::Addr2pj(iAddress, ifs[i], &namelen,
+ PJ_TRUE) != PJ_SUCCESS)
+ {
continue;
+ }
+
+ if (ifs[i].addr.sa_family != af)
+ continue;
++i;
}