示例#1
0
static void freeaddrinfo(struct addrinfo *current) {
    struct addrinfo *next;

#ifdef USE_WIN32
    if(s_freeaddrinfo)
        return s_freeaddrinfo(current);
#endif
    while(current) {
        if(current->ai_addr)
            free(current->ai_addr);
        if(current->ai_canonname)
            free(current->ai_canonname);
        next=current->ai_next;
        free(current);
        current=next;
    }
}
示例#2
0
文件: resolver.c 项目: l7s/stunnel
static void freeaddrinfo(struct addrinfo *current) {
    struct addrinfo *next;

#if defined(USE_WIN32) && !defined(_WIN32_WCE)
    if(s_freeaddrinfo) {
        s_freeaddrinfo(current);
    return;
    }
#endif
    while(current) {
        if(current->ai_addr)
            str_free(current->ai_addr);
        if(current->ai_canonname)
            str_free(current->ai_canonname);
        next=current->ai_next;
        str_free(current);
        current=next;
    }
}