亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? htinet.c

?? www工具包. 這是W3C官方支持的www支撐庫. 其中提供通用目的的客戶端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
?? C
?? 第 1 頁 / 共 2 頁
字號:
		    }		}	    }	    fclose(fp);	}    }#endif /* RESOLV_CONF */#ifdef HAVE_GETDOMAINNAME    /* If everything else has failed then try getdomainname */    if (fqdn==1) {	if (getdomainname(name, MAXHOSTNAMELEN)) {	    HTTRACE(CORE_TRACE, "HostName.... Can't get domain name\n");	    StrAllocCopy(hostname, "");	    return NULL;	}	/* If the host name and the first part of the domain name are different	   then use the former as it is more exact (I guess) */	if (strncmp(name, hostname, (int) strlen(hostname))) {	    char *domain = strchr(name, '.');	    if (!domain)		domain = name;	    StrAllocCat(hostname, domain);	}    }#endif /* HAVE_GETDOMAINNAME */    if (hostname) {	char *strptr = hostname;	while (*strptr) {	    	    *strptr = TOLOWER(*strptr);	    strptr++;	}	if (*(hostname+strlen(hostname)-1) == '.')    /* Remove trailing dot */	    *(hostname+strlen(hostname)-1) = '\0';	HTTRACE(CORE_TRACE, "HostName.... FQDN is `%s\'\n" _ hostname);    }    return hostname;}/*							       HTGetMailAddress****	Get the mail address of the current user on the current host. The**	domain name used is the one initialized in HTSetHostName or**	HTGetHostName. The login name is determined using (ordered):****		getlogin**		getpwuid(getuid())****	The weakness about the last attempt is if the user has multiple**	login names each with the same user ID. If this fails as well then:****		LOGNAME environment variable**		USER environment variable****	Returns NULL or string to be freed by caller*/PUBLIC char * HTGetMailAddress (void){#ifdef HT_REENTRANT  char name[HT_LOGNAME_MAX];    /* For getlogin_r or getUserName */  int result;#endif#ifdef WWW_MSWINDOWS/* what was the plan for this under windows? - EGP */  char name[256];    /* For getlogin_r or getUserName */  unsigned int bufSize = sizeof(name);#endif#ifdef HAVE_PWD_H    struct passwd * pw_info = NULL;#endif    char * login = NULL;#ifdef WWW_MSWINDOWS    if (!login && GetUserName(name, &bufSize) != TRUE)        HTTRACE(CORE_TRACE, "MailAddress. GetUsername returns NO\n");#endif /* WWW_MSWINDOWS */#ifdef HAVE_CUSERID    if (!login && (login = (char *) cuserid(NULL)) == NULL)        HTTRACE(CORE_TRACE, "MailAddress. cuserid returns NULL\n");#endif /* HAVE_CUSERID */#ifdef HAVE_GETLOGIN#ifdef GETLOGIN_R_RETURNS_POINTER    if (!login && (login = (char *) getlogin_r(name, HT_LOGNAME_MAX)) == NULL)#elif defined(GETLOGIN_R_RETURNS_INT)    if (!login && (result = getlogin_r(name, HT_LOGNAME_MAX)) == 0)    {	login = &name[0];    }    else#else    if (!login && (login = (char *) getlogin()) == NULL)#endif /* HT_REENTRANT */	HTTRACE(CORE_TRACE, "MailAddress. getlogin returns NULL\n");#endif /* HAVE_GETLOGIN */#ifdef HAVE_PWD_H    if (!login && (pw_info = getpwuid(getuid())) != NULL)	login = pw_info->pw_name;#endif /* HAVE_PWD_H */    if (!login && (login = getenv("LOGNAME")) == NULL)	HTTRACE(CORE_TRACE, "MailAddress. LOGNAME not found\n");    if (!login && (login = getenv("USER")) == NULL)	HTTRACE(CORE_TRACE, "MailAddress. USER not found\n");    if (!login) login = HT_DEFAULT_LOGIN;    if (login) {	char * domain = NULL;	char * mailaddress = NULL;	StrAllocCopy(mailaddress, login);	StrAllocCat(mailaddress, "@");	if ((domain = HTGetHostName()) != NULL) {	    StrAllocCat(mailaddress, domain);	    HT_FREE(domain);	}	return mailaddress;    }    return NULL;}/***	Except on the NeXT, we pick up the NewsHost name from****	1.	Environment variable NNTPSERVER**	2.	File SERVER_FILE**	3.	Compilation time macro DEFAULT_NEWS_HOST****	On the NeXT, we pick up the NewsHost name from, in order:****	1.	WorldWideWeb default "NewsHost"**	2.	News default "NewsHost"**	3.	Compilation time macro DEFAULT_NEWS_HOST****	Returns NULL or string to be freed by caller*/PUBLIC char * HTGetNewsServer (void){    char * newshost = NULL;    char buffer[80];#ifdef NeXTStep    if ((newshost = NXGetDefaultValue("WorldWideWeb","NewsHost")) == 0)	if ((newshost = NXGetDefaultValue("News","NewsHost")) == 0)	    newshost = DEFAULT_NEWS_HOST;#else    if ((newshost = (char *) getenv("NNTPSERVER")) == NULL) {	FILE *fp = fopen(SERVER_FILE, "r");	*(buffer+79) = '\0';	if (fp) {	    if (fgets(buffer, 79, fp)) {		char *end;		newshost = buffer;		while (*newshost == ' ' || *newshost == '\t')		    newshost++;		end = newshost;		while (*end && !isspace((int) *end))		    end++;		*end = '\0';	    }	    fclose(fp);	}    }#endif /* NestStep */    /* Last resort */    if (!newshost || !*newshost) newshost = DEFAULT_NEWS_HOST;    /* Canonicalize host name */    {	char * result = NULL;	StrAllocCopy(result, newshost);	{	    char * strptr = result;	    while (*strptr) {		*strptr = TOLOWER(*strptr);		strptr++;	    }	}	return result;    }}/*	Timezone Offset**	---------------**	Calculates the offset from GMT in seconds*/PUBLIC time_t HTGetTimeZoneOffset (void){    static time_t HTTimeZone = -1;		  /* Invalid timezone offset */    if (HTTimeZone != -1) return HTTimeZone;		     /* Already done */#ifdef HAVE_TIMEZONE    {	time_t cur_t = time(NULL);#ifdef HT_REENTRANT	struct tm loctime;	struct tm *local = (struct tm *) localtime_r(&cur_t, &loctime);#else	struct tm *local = localtime(&cur_t);#endif /* HT_REENTRANT */#ifdef HAVE_DAYLIGHT	if (daylight && local->tm_isdst>0) {		   /* daylight time? */#else	if (local->tm_isdst>0) {			   /* daylight time? */#endif /* HAVE_DAYLIGHT */#ifdef HAVE_ALTZONE	    HTTimeZone = altzone;#else 	    /* Assumes a fixed DST offset of 1 hour, which is probably wrong */#ifdef __CYGWIN__ 	    HTTimeZone = _timezone - 3600;#else 	    HTTimeZone = timezone - 3600;#endif#endif /* HAVE_ALTZONE */	} else {						       /* no */#ifdef __CYGWIN__	    HTTimeZone = _timezone;#else	    HTTimeZone = timezone;#endif	}	HTTimeZone = -HTTimeZone;	HTTRACE(CORE_TRACE, "TimeZone.... GMT + (%02d) hours (including DST)\n" _ 		    (int) HTTimeZone/3600);    }#else#ifdef HAVE_TM_GMTOFF    {	time_t cur_t = time(NULL);#ifdef HT_REENTRANT	struct tm loctime;	localtime_r(&cur_t, &loctime);#else	struct tm * local = localtime(&cur_t);#endif /* HT_REENTRANT */	HTTimeZone = local->tm_gmtoff;	HTTRACE(CORE_TRACE, "TimeZone.... GMT + (%02d) hours (including DST)\n" _ 		    (int)local->tm_gmtoff / 3600);    }#else    HTTRACE(CORE_TRACE, "TimeZone.... Not defined\n");#endif /* HAVE_TM_GMTOFF */#endif /* HAVE_TIMEZONE */    return HTTimeZone;}/***	Finds a temporary name in in the directory given. If the directory**	is NULL then don't prepend anything.**	If success, the result must be freed by caller, else we return NULL*/PUBLIC char * HTGetTmpFileName (const char * abs_dir){    char * result = NULL;#ifdef HAVE_TEMPNAM    static char * envtmpdir = NULL;    size_t len = 0;    if (abs_dir && *abs_dir) {      char * tmpdir = getenv("TMPDIR");      if (tmpdir)          len = strlen(tmpdir);      if (len) {          if (!(envtmpdir = (char *) HT_REALLOC(envtmpdir, len + 8)))              HT_OUTOFMEM("HTGetTmpFileName");          strcpy(envtmpdir, "TMPDIR=");          strcpy(envtmpdir + 7, tmpdir);          putenv("TMPDIR=");      }    }#ifdef __CYGWIN__    result = tempnam(abs_dir, "");#else    result = tempnam(abs_dir, NULL);#endif /* __CYGWIN__ */    if (len)      putenv(envtmpdir);#else    /*    **  This is only approx. as we don't know if this file exists or not.    **  Hopefully, tempnam() exists on enough platforms so that this is not    **  a problem.    */    char * offset = NULL;    if (!(result = (char *) HT_MALLOC((abs_dir ? strlen(abs_dir) : 0) +				      HT_MAX_TMPNAM + 2)))	HT_OUTOFMEM("HTGetTmpFileName");#ifdef WWW_MSWINDOWS    if (abs_dir) {#else    if (abs_dir && *abs_dir==DIR_SEPARATOR_CHAR) {#endif /* WWW_MSWINDOWS */	strcpy(result, abs_dir);	offset = result+strlen(result);	if (*(offset-1) != DIR_SEPARATOR_CHAR) *offset++ = DIR_SEPARATOR_CHAR;#ifdef HT_REENTRANT	tmpnam_r(offset);#else	tmpnam(offset);#endif	{	    char * orig = strrchr(offset, DIR_SEPARATOR_CHAR);	    char * dest = offset;	    if (orig++) while ((*dest++ = *orig++));	}    } else {	offset = result;#ifdef HT_REENTRANT	tmpnam_r(offset);#else	tmpnam(offset);#endif	offset = result;    }#endif /* HAVE_TEMPNAM */    return result;}/***  Copied from X utilities*/PUBLIC ms_t HTGetTimeInMillis (void){#ifdef WWW_MSWINDOWS    return GetTickCount();#else /* WWW_MSWINDOWS */#ifdef HAVE_GETTIMEOFDAY    struct timeval tp;    gettimeofday(&tp, NULL);    return(tp.tv_sec * 1000) + (tp.tv_usec / 1000);#else    return((ms_t) 0);#endif#endif /* !WWW_MSWINDOWS */}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一本到| 欧美激情一区三区| 久久久久久久久久久久久久久99| 中文一区二区在线观看| 日韩专区欧美专区| 色综合天天综合给合国产| 欧美精品一区二区三| 午夜伦欧美伦电影理论片| 国产精品污网站| 中文字幕一区二区三区精华液| 日韩av二区在线播放| 91浏览器打开| 国产午夜精品理论片a级大结局| 日韩成人dvd| 欧美亚洲禁片免费| 亚洲欧美日韩国产另类专区| 丁香激情综合五月| 精品国产一区二区三区久久久蜜月| 亚洲一区二区三区四区在线免费观看 | 日韩不卡手机在线v区| 色婷婷综合久久久久中文| 日本一区二区不卡视频| 国产综合色精品一区二区三区| 欧美高清dvd| 午夜精品爽啪视频| 欧美色图一区二区三区| 亚洲摸摸操操av| 91色porny在线视频| 中文字幕一区免费在线观看 | 99精品桃花视频在线观看| 久久婷婷综合激情| 国产一区日韩二区欧美三区| 日韩精品影音先锋| 久久成人久久爱| 日韩欧美视频在线| 国产一区二区视频在线播放| 日韩免费电影一区| 久久99国产精品免费| 日韩欧美色综合| 国产精品一区二区久激情瑜伽| 久久久久久久综合| av在线播放一区二区三区| 亚洲欧美日韩国产综合在线| 日本黄色一区二区| 午夜精品一区二区三区三上悠亚| 91精品蜜臀在线一区尤物| 欧美aaaaa成人免费观看视频| 日韩欧美国产1| 国产福利不卡视频| 国产精品盗摄一区二区三区| 色综合久久88色综合天天6| 亚洲小少妇裸体bbw| 欧美一区二区大片| 国产精品系列在线观看| 亚洲精品第1页| 7799精品视频| 国产成人在线观看免费网站| 中文字幕永久在线不卡| 欧美日韩精品一区二区| 久久91精品久久久久久秒播| 中文字幕一区二区视频| 欧美一区日韩一区| 国产成a人亚洲| 亚洲成人资源网| 久久女同精品一区二区| 99久久婷婷国产综合精品| 日韩电影在线免费观看| 久久久国产午夜精品| 91久久线看在观草草青青| 久久97超碰国产精品超碰| 国产精品久久久久久亚洲毛片 | 日本午夜精品一区二区三区电影| 精品国产一区二区三区不卡| 色天天综合色天天久久| 激情另类小说区图片区视频区| 国产精品乱码人人做人人爱| 欧美日韩精品是欧美日韩精品| 懂色av噜噜一区二区三区av| 香蕉影视欧美成人| 成人欧美一区二区三区白人| 日韩欧美一级在线播放| 91国产免费看| 成人综合在线观看| 久久99国内精品| 丝袜亚洲另类丝袜在线| 日韩一区有码在线| ww亚洲ww在线观看国产| 欧美日韩不卡一区| 一本久久a久久精品亚洲| 韩国女主播一区二区三区| 亚洲成人av在线电影| 成人免费一区二区三区在线观看| 日韩精品一区二区三区中文不卡| 一本在线高清不卡dvd| 国产精品99久久不卡二区| 人人狠狠综合久久亚洲| 亚洲主播在线播放| 亚洲欧洲日韩女同| 国产情人综合久久777777| 精品国产一区二区三区忘忧草 | 日韩精品亚洲一区二区三区免费| 国产精品毛片a∨一区二区三区| 精品精品欲导航| 日韩一区二区在线观看视频播放| 91久久一区二区| 色婷婷精品久久二区二区蜜臀av | 极品少妇一区二区| 日本欧美久久久久免费播放网| 亚洲一二三四区| 一区二区在线观看视频| 亚洲欧美日韩小说| √…a在线天堂一区| 亚洲天堂网中文字| 亚洲婷婷在线视频| 亚洲自拍偷拍综合| 亚洲高清视频中文字幕| 亚洲国产人成综合网站| 亚洲大片免费看| 免费精品视频最新在线| 麻豆免费精品视频| 九九热在线视频观看这里只有精品| 日本少妇一区二区| 极品少妇一区二区三区精品视频| 韩国成人精品a∨在线观看| 精品一区二区久久久| 国产主播一区二区三区| 国产不卡视频在线观看| thepron国产精品| 欧美在线视频你懂得| 91精品国产免费| 精品国产伦理网| 国产精品色一区二区三区| 亚洲黄色性网站| 午夜精品久久久久久久| 久久国产福利国产秒拍| 国产在线播放一区三区四| 成人免费毛片高清视频| 91久久久免费一区二区| 在线不卡免费av| 久久精品欧美一区二区三区不卡 | 日本午夜精品一区二区三区电影| 美女一区二区视频| 成人免费高清视频| 欧美日韩一区国产| 精品国产免费人成在线观看| 国产精品久久久久久久久晋中| 亚洲精品视频在线观看免费| 日韩精品乱码av一区二区| 国产老女人精品毛片久久| 色伊人久久综合中文字幕| 91麻豆精品国产91久久久久 | 欧美亚洲国产一区二区三区va| 日韩一区二区在线免费观看| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲在线视频免费观看| 国产一区二区主播在线| 在线免费亚洲电影| 久久亚洲私人国产精品va媚药| 亚洲精品你懂的| 麻豆成人久久精品二区三区红| 99精品国产视频| 精品噜噜噜噜久久久久久久久试看| 日韩毛片视频在线看| 激情另类小说区图片区视频区| 色综合天天综合网国产成人综合天 | 另类的小说在线视频另类成人小视频在线 | 美国精品在线观看| 色噜噜夜夜夜综合网| 久久人人97超碰com| 午夜电影一区二区三区| eeuss影院一区二区三区| 日韩一区二区三区观看| 亚洲精品ww久久久久久p站| 国产精品白丝jk白祙喷水网站| 91精品国产手机| 一区二区三区视频在线观看| 国产成人av电影在线| 欧美成人bangbros| 亚洲一区二区精品视频| 成人高清在线视频| 久久久国产精华| 精品在线观看视频| 日韩欧美在线影院| 偷拍自拍另类欧美| 欧洲精品中文字幕| 亚洲乱码国产乱码精品精98午夜 | 亚洲一区二三区| 国产毛片一区二区| 91精品国产91久久久久久一区二区 | 国产精品夜夜嗨| 久久综合九色综合欧美就去吻| 三级不卡在线观看| 欧美日韩精品久久久| 亚洲最大的成人av| 欧美亚洲一区二区在线观看| 亚洲卡通动漫在线| 日本道精品一区二区三区| 夜色激情一区二区| 在线精品视频小说1| 亚洲国产精品一区二区久久|