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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? htwwwstr.c

?? www工具包. 這是W3C官方支持的www支撐庫(kù). 其中提供通用目的的客戶端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	    tm.tm_hour = strtol(s, &s, 10);	    tm.tm_min = strtol(++s, &s, 10);	    tm.tm_sec = strtol(++s, &s, 10);	} else {					    /* Second format */	    HTTRACE(CORE_TRACE, "Format...... Wkd, 00 Mon 0000 00:00:00 GMT\n");	    if ((int)strlen(s) < 20) {		HTTRACE(CORE_TRACE, "ERROR....... Not a valid time format \"%s\"\n" _ s);		return 0;	    }	    tm.tm_mday = strtol(s, &s, 10);	    tm.tm_mon = make_month(s, &s);	    tm.tm_year = strtol(s, &s, 10) - 1900;	    tm.tm_hour = strtol(s, &s, 10);	    tm.tm_min = strtol(++s, &s, 10);	    tm.tm_sec = strtol(++s, &s, 10);	}    } else if (isdigit((int) *str)) {	if (strchr(str, 'T')) {		        /* ISO (limited format) date string */	    HTTRACE(CORE_TRACE, "Format...... YYYY.MM.DDThh:mmStzWkd\n");	    s = (char *) str;	    while (*s && *s==' ') s++;	    if ((int)strlen(s) < 21) {		HTTRACE(CORE_TRACE, "ERROR....... Not a valid time format `%s\'\n" _ s);		return 0;	    }	    tm.tm_year = strtol(s, &s, 10) - 1900;	    tm.tm_mon  = strtol(++s, &s, 10);	    tm.tm_mday = strtol(++s, &s, 10);	    tm.tm_hour = strtol(++s, &s, 10);	    tm.tm_min  = strtol(++s, &s, 10);	    tm.tm_sec  = strtol(++s, &s, 10);	} else {					    /* delta seconds */	    t = expand ? time(NULL) + atol(str) : atol(str);#ifdef HTDEBUG	    if (CORE_TRACE) {		if (expand) {#if defined (HAVE_CTIME_R_2)		    char buffer[CTIME_MAX];		    HTTRACE(CORE_TRACE, "Time string. Delta-time %s parsed to %ld seconds, or in local time: %s" _			    str _ (long) t _ (char *) ctime_r(&t, buffer));#elif defined(HAVE_CTIME_R_3)		    char buffer[CTIME_MAX];		    HTTRACE(CORE_TRACE, "Time string. Delta-time %s parsed to %ld seconds, or in local time: %s" _			    str _ (long) t _ (char *) ctime_r(&t, buffer, CTIME_MAX));#else		    HTTRACE(CORE_TRACE, "Time string. Delta-time %s parsed to %ld seconds, or in local time: %s" _			    str _ (long) t _ ctime(&t));#endif /* HT_REENTRANT */		} else {		    HTTRACE(CORE_TRACE, "Time string. Delta-time %s parsed to %ld seconds\n" _ str _ (long) t);		}	    }#endif /* HT_DEBUG */	    return t;	}    } else {	      /* Try the other format:  Wed Jun  9 01:29:59 1993 GMT */	HTTRACE(CORE_TRACE, "Format...... Wkd Mon 00 00:00:00 0000 GMT\n");	s = (char *) str;	while (*s && *s==' ') s++;	HTTRACE(CORE_TRACE, "Trying...... The Wrong time format: %s\n" _ s);	if ((int)strlen(s) < 24) {	    HTTRACE(CORE_TRACE, "ERROR....... Not a valid time format \"%s\"\n" _ s);	    return 0;	}	tm.tm_mon = make_month(s, &s);	tm.tm_mday = strtol(s, &s, 10);	tm.tm_hour = strtol(s, &s, 10);	tm.tm_min = strtol(++s, &s, 10);	tm.tm_sec = strtol(++s, &s, 10);	tm.tm_year = strtol(s, &s, 10) - 1900;    }    if (tm.tm_sec  < 0  ||  tm.tm_sec  > 59  ||	tm.tm_min  < 0  ||  tm.tm_min  > 59  ||	tm.tm_hour < 0  ||  tm.tm_hour > 23  ||	tm.tm_mday < 1  ||  tm.tm_mday > 31  ||	tm.tm_mon  < 0  ||  tm.tm_mon  > 11  ||	tm.tm_year <70  ||  tm.tm_year >120) {	HTTRACE(CORE_TRACE, "ERROR....... Parsed illegal time: %02d.%02d.%02d %02d:%02d:%02d\n" _ 	       tm.tm_mday _ tm.tm_mon+1 _ tm.tm_year _ 	       tm.tm_hour _ tm.tm_min _ tm.tm_sec);	return 0;    }#if 0#if defined(HAVE_TIMEZONE) && defined(HAVE_ALTZONE)    tm.tm_isdst = daylight;		       /* Already taken into account */    HTTRACE(CORE_TRACE, "Time string. Daylight is %s\n" _	    daylight>0 ? "on" : daylight==0 ? "off" : "unknown");#endif#else    /* Let mktime decide whether we have DST or not */    tm.tm_isdst = -1;#endif#ifdef HAVE_MKTIME    t = mktime(&tm);    t += (up ? HTUserProfile_timezone(up) : HTGetTimeZoneOffset());#else#ifdef HAVE_TIMEGM    t = timegm(&tm);#else#error "Neither mktime nor timegm defined"#endif /* HAVE_TIMEGM */#endif /* HAVE_MKTIME */    HTTRACE(CORE_TRACE, "Time string. %s parsed to %ld calendar time or `%s' in local time\n" _ 		str _ (long) t _ ctime(&t));    return t;}/***	Returns a string pointer to a static area of the current calendar**	time in RFC 1123 format, for example****		Sun, 06 Nov 1994 08:49:37 GMT****	The result can be given in both local and GMT dependent on the flag*/PUBLIC const char *HTDateTimeStr (time_t * calendar, BOOL local){    static char buf[40];#ifdef HAVE_STRFTIME    if (local) {	/*	** Solaris 2.3 has a bug so we _must_ use reentrant version	** Thomas Maslen <tmaslen@verity.com>	*/#if defined(HT_REENTRANT) || defined(SOLARIS)	struct tm loctime;	localtime_r(calendar, &loctime);	strftime(buf, 40, "%a, %d %b %Y %H:%M:%S", &loctime);#else	struct tm *loctime = localtime(calendar);	strftime(buf, 40, "%a, %d %b %Y %H:%M:%S", loctime);#endif /* SOLARIS || HT_REENTRANT */    } else {#if defined(HT_REENTRANT) || defined(SOLARIS)	struct tm gmt;	gmtime_r(calendar, &gmt);    	strftime(buf, 40, "%a, %d %b %Y %H:%M:%S GMT", &gmt);#else	struct tm *gmt = gmtime(calendar);    	strftime(buf, 40, "%a, %d %b %Y %H:%M:%S GMT", gmt);#endif /* SOLARIS || HT_REENTRANT */    }#else    if (local) {#if defined(HT_REENTRANT)	struct tm loctime;	localtime_r(calendar, &loctime);#else	struct tm *loctime = localtime(calendar);#endif /* HT_REENTRANT */	sprintf(buf,"%s, %02d %s %04d %02d:%02d:%02d",		wkdays[loctime->tm_wday],		loctime->tm_mday,		months[loctime->tm_mon],		loctime->tm_year + 1900,		loctime->tm_hour,		loctime->tm_min,		loctime->tm_sec);    } else {#if defined(HT_REENTRANT) || defined(SOLARIS)	struct tm gmt;	gmtime_r(calendar, &gmt);#else	struct tm *gmt = gmtime(calendar);#endif	sprintf(buf,"%s, %02d %s %04d %02d:%02d:%02d GMT",		wkdays[gmt->tm_wday],		gmt->tm_mday,		months[gmt->tm_mon],		gmt->tm_year + 1900,		gmt->tm_hour,		gmt->tm_min,		gmt->tm_sec);    }#endif    return buf;}/*	HTDateDirStr**	------------**	Generates a date string used in directory listings*/PUBLIC BOOL HTDateDirStr (time_t * time, char * str, int len){#ifdef HAVE_STRFTIME#if defined(HT_REENTRANT) || defined(SOLARIS)    struct tm loctime;    localtime_r(time, &loctime);    strftime(str, len, "%d-%b-%Y %H:%M", &loctime);    return YES;#else    strftime(str, len, "%d-%b-%Y %H:%M", localtime(time));    return YES;#endif /* HT_REENTRANT || SOLARIS */#else    if (len >= 16) {	struct tm *loctime = localtime(time);	sprintf(str,"%02d-%s-%02d %02d:%02d",		loctime->tm_mday,		months[loctime->tm_mon],		loctime->tm_year % 100,		loctime->tm_hour,		loctime->tm_min);	return YES;    }    return NO;#endif /* HAVE_STRFTIME */		}/* 							     	HTNumToStr**	Converts a long (byte count) to a string**	----------------------------------------**	This function was a PAIN!  In computer-world 1K is 1024 bytes**	and 1M is 1024K -- however, sprintf() still formats in base-10.**	Therefore I output only until 999, and then start using the**	next unit.  This doesn't work wrong, it's just a feature.**	The "str" must be large enough to contain the result.*/PUBLIC void HTNumToStr (unsigned long n, char * str, int len){    double size = n/1024.0;    if (len < 6) {	*str = '\0';	return;    }    if (n < 1000)	sprintf(str, "%dK", n>0 ? 1 : 0);    else if (size + 0.999 < 1000)	sprintf(str, "%dK", (int)(size + 0.5));    else if ((size /= 1024) < 9.9)	sprintf(str, "%.1fM", (size + 0.05));    else if (size < 1000)	sprintf(str, "%dM", (int)(size + 0.5));    else if ((size /= 1024) < 9.9)	sprintf(str, "%.1fG", (size + 0.05));    else	sprintf(str, "%dG", (int)(size + 0.5));}/***	Matches MIME constructions for content-types and others like**	them, for example "text/html", "text/plain". It can also match**	wild cards like "text/<star>" and "<star>/<star>. We use <star>**	instead of * in order note to make C like comments :-)*/PUBLIC BOOL HTMIMEMatch (HTAtom * tmplate, HTAtom * actual){    const char *t, *a;    char *st, *sa;    BOOL match = NO;    if (tmplate && actual && (t = HTAtom_name(tmplate))) {	if (!strcmp(t, "*"))	    return YES;	if (strchr(t, '*') &&	    (a = HTAtom_name(actual)) &&	    (st = strchr(t, '/')) && (sa = strchr(a,'/'))) {	    *sa = 0;	    *st = 0;	    if ((*(st-1)=='*' &&		 (*(st+1)=='*' || !strcasecomp(st+1, sa+1))) ||		(*(st+1)=='*' && !strcasecomp(t,a)))		match = YES;	    *sa = '/';	    *st = '/';	}        }    return match;}/*	Convert file URLs into a local representation**	---------------------------------------------**	The URL has already been translated through the rules in get_physical**	in HTAccess.c and all we need to do now is to map the path to a local**	representation, for example if must translate '/' to the ones that**	turn the wrong way ;-)**	Returns:**		OK:	local file (that must be freed by caller)**		Error:	NULL*/PUBLIC char * HTWWWToLocal (const char * url, const char * base,			    HTUserProfile * up){    if (url) {	char * access = HTParse(url, base, PARSE_ACCESS);	char * host = HTParse(url, base, PARSE_HOST);	char * path = HTParse(url, base, PARSE_PATH+PARSE_PUNCTUATION);	const char * myhost = HTUserProfile_fqdn(up);	/* Find out if this is a reference to the local file system */	if ((*access && strcmp(access, "file") && strcmp(access, "cache")) ||	     (*host && strcasecomp(host, "localhost") &&	      myhost && strcmp(host, myhost))) {	    HTTRACE(CORE_TRACE, "LocalName... Not on local file system\n");	    HT_FREE(access);	    HT_FREE(host);	    HT_FREE(path);	    return NULL;	} else {	    char *ptr;	    if ((ptr = strchr(path, ';')) || (ptr = strchr(path, '?')))		*ptr = '\0';		    /*	    ** Do whatever translation is required here in order to fit your	    ** platform _before_ the path is unescaped.	    */#ifdef VMS	    HTVMS_checkDecnet(path);#endif#ifdef WWW_MSWINDOWS	    /* An absolute pathname with logical drive */            if (*path == '/' && path[2] == ':') {		char *orig=path, *dest=path+1;		while((*orig++ = *dest++));	    /* A network host */            } else if (*host && strcasecomp(host, "localhost")) {		char * newpath = NULL;		StrAllocMCopy(&newpath, "//", host, path, NULL);		HT_FREE(path);		path = newpath;	    }	    /* Convert '/' to '\' */	    {		char *p = path;		while (*p) {		    if (*p=='/') *p='\\';		    p++;		}	    }#endif	    	    HTUnEscape(path);		  /* Take out the escaped characters */	    HTTRACE(CORE_TRACE, "Node........ `%s' means path `%s'\n" _ url _ path);	    HT_FREE(access);	    HT_FREE(host);	    return path;	}    }    return NULL;}/*	Convert a local file name into a URL**	------------------------------------**	Generates a WWW URL name from a local file name or NULL if error.**	Returns:**		OK:	local file (that must be freed by caller)**		Error:	NULL*/PUBLIC char * HTLocalToWWW (const char * local, const char * access){    char * escaped = NULL;    const char * scheme = (access && *access) ? access : "file:";     if (local && *local) {#ifdef VMS         char * unescaped = NULL;        if ((unescaped = (char *) HT_MALLOC(strlen(local) + 10)) == NULL)            HT_OUTOFMEM("HTLocalToWWW");        strcpy(unescaped, scheme);	     /* We get an absolute file name */	/* convert directory name to Unix-style syntax */	{	    char * disk = strchr (local, ':');	    char * dir = strchr (local, '[');	    if (disk) {		*disk = '\0';		strcat(unescaped, "/");		strcat(unescaped, local);	    }	    if (dir) {		char *p;		*dir = '/';	/* Convert leading '[' */		for (p = dir ; *p != ']'; ++p)		    if (*p == '.') *p = '/';		*p = '\0';	/* Cut on final ']' */		strcat(unescaped, dir);	    }	}        escaped = HTEscape(unescaped, URL_DOSFILE);        HT_FREE(unescaped);#else  /* not VMS */#ifdef WIN32        char * unescaped = NULL;        if ((unescaped = (char *) HT_MALLOC(strlen(local) + 10)) == NULL)            HT_OUTOFMEM("HTLocalToWWW");        strcpy(unescaped, scheme);	     /* We get an absolute file name */        if (strchr(local, ':')) strcat(unescaped, "/");        {            const char *p = local;            char *q = unescaped+strlen(unescaped);            while (*p) {                if (*p=='\\') {                    *q++='/';                } else                    *q++=*p;                p++;            }            *q = '\0';	}        escaped = HTEscape(unescaped, URL_DOSFILE);        HT_FREE(unescaped);#else  /* Unix */        char * escaped_path = HTEscape(local, URL_PATH);	escaped = StrAllocMCopy(&escaped, scheme, escaped_path, NULL);        HT_FREE(escaped_path);#endif /* not WIN32 */#endif /* not VMS */    }    return escaped;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性做久久久久久免费观看欧美| 欧美美女网站色| 久久久另类综合| 国产精品一二三区| 国产亚洲一区字幕| av在线不卡电影| 一区二区三区电影在线播| 欧美三区在线视频| 另类中文字幕网| 精品国产乱码久久久久久蜜臀| 国产激情视频一区二区在线观看| 国产精品视频九色porn| 91麻豆免费看| 五月天激情小说综合| 精品国产一区二区亚洲人成毛片 | 国产久卡久卡久卡久卡视频精品| 国产欧美一区在线| 91浏览器打开| 美腿丝袜一区二区三区| 欧美韩国日本综合| 欧美日韩国产乱码电影| 国模大尺度一区二区三区| 国产精品不卡在线观看| 欧美另类z0zxhd电影| 国产精品69毛片高清亚洲| 一区2区3区在线看| 欧美一级国产精品| 91蝌蚪porny| 精品一区二区国语对白| 一区二区三区影院| 久久精品人人爽人人爽| 欧美日韩精品久久久| 国产在线精品免费| 午夜不卡av免费| 国产精品久久久久久久第一福利 | 不卡av免费在线观看| 日韩电影在线免费| 日韩一区中文字幕| 精品国产免费一区二区三区四区| 在线观看一区二区精品视频| 国产激情精品久久久第一区二区| 日韩电影在线一区| 怡红院av一区二区三区| 国产视频视频一区| 欧美电影免费观看完整版| 91九色02白丝porn| 97久久久精品综合88久久| 久久精品国产第一区二区三区| 一级精品视频在线观看宜春院| 久久久精品免费网站| 69p69国产精品| 在线免费一区三区| 不卡免费追剧大全电视剧网站| 久久国产精品免费| 婷婷成人激情在线网| 夜夜亚洲天天久久| 亚洲人成网站色在线观看| 久久美女艺术照精彩视频福利播放| 555www色欧美视频| 欧美网站一区二区| 91国偷自产一区二区使用方法| 成人黄色综合网站| 国产盗摄精品一区二区三区在线 | 国产精品乱码一区二三区小蝌蚪| 日韩免费高清视频| 欧美一区二视频| 欧美日韩国产小视频在线观看| 色综合久久88色综合天天6 | 国产欧美一区二区精品久导航| 久久品道一品道久久精品| 亚洲精品一区在线观看| 欧美sm美女调教| 欧美成人精精品一区二区频| 日韩一区二区三区免费看| 日韩三级视频在线看| 日韩欧美国产一区在线观看| 日韩欧美国产精品| 久久综合狠狠综合久久综合88| 久久久亚洲精华液精华液精华液| 精品av久久707| 国产欧美综合色| 亚洲三级在线免费观看| 一区二区三区在线视频免费观看| 亚洲免费在线播放| 亚洲国产美女搞黄色| 日本欧美一区二区| 国产一区二区在线电影| 国产精品中文字幕日韩精品 | 国产区在线观看成人精品| 国产嫩草影院久久久久| 中文字幕一区二区日韩精品绯色| 国产精品护士白丝一区av| 亚洲欧美日韩在线播放| 午夜av区久久| 久久国内精品自在自线400部| 久久精品国产第一区二区三区 | 99综合影院在线| 在线这里只有精品| 日韩午夜激情视频| 国产日韩精品一区二区浪潮av | 奇米精品一区二区三区在线观看 | 亚洲免费av高清| 日韩—二三区免费观看av| 黑人巨大精品欧美黑白配亚洲| 国产不卡视频一区| 欧美性淫爽ww久久久久无| 日韩精品一区二区三区视频| 国产精品亲子伦对白| 亚洲午夜激情网页| 久久疯狂做爰流白浆xx| 91在线免费视频观看| 日韩一级二级三级| 国产精品精品国产色婷婷| 奇米777欧美一区二区| 成人动漫av在线| 欧美疯狂性受xxxxx喷水图片| 久久无码av三级| 亚洲一区二区视频在线观看| 狠狠色综合播放一区二区| 色婷婷综合久久久久中文| 欧美mv和日韩mv的网站| 尤物在线观看一区| 国产宾馆实践打屁股91| 欧美日韩国产色站一区二区三区| 久久精品人人爽人人爽| 日精品一区二区| 91在线丨porny丨国产| 久久一二三国产| 亚洲1区2区3区4区| 97国产一区二区| 国产清纯在线一区二区www| 日韩av成人高清| 在线视频国内一区二区| 亚洲国产精品99久久久久久久久| 免费成人美女在线观看.| 色先锋aa成人| 国产精品视频一二三| 麻豆91免费看| 91精品国产福利| 一区二区久久久久久| 99国产欧美另类久久久精品| 2020国产成人综合网| 午夜精品在线看| 在线视频你懂得一区| 中文字幕一区二区三区在线观看 | 国产精品一区二区视频| 日韩一级大片在线| 亚洲一卡二卡三卡四卡五卡| 色综合久久中文字幕综合网| 国产精品久久久久久久久免费丝袜| 麻豆精品视频在线观看视频| 91精品国产综合久久精品图片| 亚洲欧洲日韩综合一区二区| 成人午夜免费视频| 国产日产亚洲精品系列| 国产一区二区剧情av在线| 精品国内二区三区| 经典三级视频一区| www激情久久| 久久激情五月激情| 精品乱码亚洲一区二区不卡| 蜜桃久久久久久| 欧美一级搡bbbb搡bbbb| 青青草国产成人99久久| 538prom精品视频线放| 人人爽香蕉精品| 日韩欧美视频一区| 国产美女久久久久| 国产午夜精品久久| 成人va在线观看| 亚洲天堂免费看| 欧美系列在线观看| 日产欧产美韩系列久久99| 欧美一区二区播放| 国产精品一区二区视频| 国产精品久久久久久户外露出| 成人黄色av网站在线| 日韩理论电影院| 欧美日韩一区在线观看| 日韩电影免费在线观看网站| 日韩欧美第一区| 国产精品99久久久久久似苏梦涵| 久久精品日产第一区二区三区高清版 | 欧美精品日日鲁夜夜添| 日本亚洲最大的色成网站www| 日韩丝袜美女视频| 久久丁香综合五月国产三级网站| 久久久欧美精品sm网站| 91香蕉视频mp4| 日韩电影免费在线观看网站| 26uuu国产日韩综合| voyeur盗摄精品| 午夜精品久久久久久久蜜桃app| 欧美一级xxx| 成人免费福利片| 亚洲丰满少妇videoshd| 精品99999| 欧美午夜片在线看| 黄页视频在线91| 一区二区三区高清在线|