一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

在gethostbyname

 lycbje 2013-12-30
int gethostbyname_r(const char *name,
        struct hostent *ret, char *buf, size_t buflen,
        struct hostent **result, int *h_errnop);

為了避開非線程安全的gethostbyname,想用這貨,用起來類似這樣:

int host2addr(const char *host, struct in_addr *addr) {
    struct hostent he, *result;
    int herr, ret, bufsz = 512;
    char *buff = NULL;
    do {
        char *new_buff = (char *)realloc(buff, bufsz);
        if (new_buff == NULL) {
            free(buff);
            return ENOMEM;
        }   
        buff = new_buff;
        ret = gethostbyname_r(host, &he, buff, bufsz, &result, &herr);
        bufsz *= 2;
    } while (ret == ERANGE);
    if (ret == 0 && result != NULL) 
        *addr = *(struct in_addr *)he.h_addr;
    else if (result != &he) 
        ret = herr;
    free(buff);
    return ret;
}

基本上跟GNU官方文檔里的例子一致(GNU的還少了個free的樣子)。

但是對hostent還是不太放心:

struct hostent {
   char  *h_name;            /* official name of host */
   char **h_aliases;         /* alias list */
   int    h_addrtype;        /* host address type */
   int    h_length;          /* length of address */
   char **h_addr_list;       /* list of addresses */
}
#define h_addr h_addr_list[0] /* for backward compatibility */

這里面有h_name,h_aliases,h_addr_list ... 我又翻看了下eglibc-2.15的gethostbyname的源碼,邏輯基本上跟我上面這段一樣。但是,這些東西沒釋放的話,真的沒問題嗎?

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产免费成人激情视频| 美女黄片大全在线观看| 国产黄色高清内射熟女视频| 99久久精品午夜一区| 欧美日韩国产一级91| 日韩欧美一区二区黄色| 91人妻久久精品一区二区三区| 超薄丝袜足一区二区三区| av在线免费观看在线免费观看| 黄色在线免费高清观看| 一区二区福利在线视频| 国产原创激情一区二区三区| 欧美精品二区中文乱码字幕高清| 丝袜人妻夜夜爽一区二区三区| 少妇一区二区三区精品| 国产日韩在线一二三区| 丰满少妇高潮一区二区| 制服丝袜美腿美女一区二区| 91日韩欧美国产视频| 97人妻精品一区二区三区男同| 亚洲中文在线男人的天堂| 欧美人妻少妇精品久久性色| 日韩一区二区三区久久| 麻豆蜜桃星空传媒在线观看| 美女极度色诱视频在线观看| 免费观看一区二区三区黄片| 久久机热频这里只精品| 四季精品人妻av一区二区三区| 91熟女大屁股偷偷对白| 国产不卡最新在线视频| 青草草在线视频免费视频| 国产成人在线一区二区三区 | 亚洲国产婷婷六月丁香| 好吊日在线视频免费观看| 91日韩欧美在线视频| 五月婷婷六月丁香在线观看| 国产日韩精品激情在线观看| 熟女一区二区三区国产| 我要看日本黄色小视频| 欧美黑人巨大一区二区三区 | 欧美自拍偷自拍亚洲精品|