Ignore:
Timestamp:
Jul 23, 2018 7:15:08 AM (6 years ago)
Author:
riza
Message:

Close #2070: Print IPv6 addresses with brackets.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/src/pj/sock_common.c

    r5644 r5833  
    846846 
    847847            TRACE_((THIS_FILE, "hostname IP is %s", 
    848                     pj_sockaddr_print(&ai.ai_addr, strip, sizeof(strip), 0))); 
     848                    pj_sockaddr_print(&ai.ai_addr, strip, sizeof(strip), 3))); 
    849849        } 
    850850    } 
     
    858858        if (status == PJ_SUCCESS) { 
    859859            TRACE_((THIS_FILE, "default IP is %s", 
    860                     pj_sockaddr_print(addr, strip, sizeof(strip), 0))); 
     860                    pj_sockaddr_print(addr, strip, sizeof(strip), 3))); 
    861861 
    862862            pj_sockaddr_set_port(addr, 0); 
     
    970970    for (i=0; i<cand_cnt; ++i) { 
    971971        TRACE_((THIS_FILE, "Checking candidate IP %s, weight=%d", 
    972                 pj_sockaddr_print(&cand_addr[i], strip, sizeof(strip), 0), 
     972                pj_sockaddr_print(&cand_addr[i], strip, sizeof(strip), 3), 
    973973                cand_weight[i])); 
    974974 
     
    995995        } 
    996996        TRACE_((THIS_FILE, "Loopback IP %s returned", 
    997                 pj_sockaddr_print(addr, strip, sizeof(strip), 0))); 
     997                pj_sockaddr_print(addr, strip, sizeof(strip), 3))); 
    998998    } else { 
    999999        pj_sockaddr_copy_addr(addr, &cand_addr[selected_cand]); 
    10001000        TRACE_((THIS_FILE, "Candidate %s selected", 
    1001                 pj_sockaddr_print(addr, strip, sizeof(strip), 0))); 
     1001                pj_sockaddr_print(addr, strip, sizeof(strip), 3))); 
    10021002    } 
    10031003 
     
    11901190 
    11911191 
     1192PJ_DEF(char *) pj_addr_str_print( const pj_str_t *host_str, int port,  
     1193                                  char *buf, int size, unsigned flag) 
     1194{ 
     1195    enum { 
     1196        WITH_PORT = 1 
     1197    }; 
     1198    char *bquote, *equote; 
     1199    int af = pj_AF_UNSPEC();     
     1200    pj_in6_addr dummy6; 
     1201 
     1202    /* Check if this is an IPv6 address */ 
     1203    if (pj_inet_pton(pj_AF_INET6(), host_str, &dummy6) == PJ_SUCCESS) 
     1204        af = pj_AF_INET6(); 
     1205 
     1206    if (af == pj_AF_INET6()) { 
     1207        bquote = "["; 
     1208        equote = "]";     
     1209    } else { 
     1210        bquote = ""; 
     1211        equote = "";     
     1212    }  
     1213 
     1214    if (flag & WITH_PORT) { 
     1215        pj_ansi_snprintf(buf, size, "%s%.*s%s:%d", 
     1216                         bquote, (int)host_str->slen, host_str->ptr, equote,  
     1217                         port); 
     1218    } else { 
     1219        pj_ansi_snprintf(buf, size, "%s%.*s%s", 
     1220                         bquote, (int)host_str->slen, host_str->ptr, equote); 
     1221    } 
     1222    return buf; 
     1223} 
     1224 
     1225 
    11921226/* Only need to implement these in DLL build */ 
    11931227#if defined(PJ_DLL) 
Note: See TracChangeset for help on using the changeset viewer.