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

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

?? ansitime.c

?? vxwork源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
    const char *      format,		/* format of output string */    const struct tm * tptr		/* broken-down time */    )    {    return (strftime_r (s, n, format, tptr, __loctime));    }/********************************************************************************* strftime_r - format time into a string (POSIX)** Re-entrant version of strftime().** RETURNS:*/LOCAL size_t strftime_r    (    char *            bufHd,		/* string array */    size_t            bufMaxSz,		/* maximum size of array */    const char *      fmtHd,		/* format of output string */    const struct tm * tmptr, 		/* broken-down time */    TIMELOCALE *      timeInfo		/* locale information */    )    {    const char *      fmt = fmtHd;    char *            buffer = bufHd;    char              addOn[MaxBufferSize];    int               bufLen = 0;    int               bufszNow = 0;        FOREVER       	{       	while ((*fmt != '%') && (bufszNow != bufMaxSz) && (*fmt != EOS))	    {    	    bufszNow++; 	    *buffer++ = *fmt++;	    }       	if (bufszNow == bufMaxSz) 	    break;       	if (*fmt++ != EOS)	    {	    __generateTime (addOn, tmptr, timeInfo, &bufLen, fmt);	    if (bufLen >= 0)	        {	        if (bufMaxSz > (bufszNow + bufLen))	            {	            memcpy (buffer, addOn, bufLen);	 	    bufszNow += bufLen;		    buffer += bufLen;		    fmt++;		    } /* endif */	        else 		    {		    memcpy (buffer, addOn, bufMaxSz - bufszNow);		    buffer += (bufMaxSz - bufszNow);		    bufszNow = bufMaxSz;		    break;		    }		}		    else 	        { /* process format strings */		*(addOn + abs (bufLen)) = EOS; 		/* This is recursive - but should recurse ONCE only */	        bufLen = (int) strftime_r (buffer, 					   bufMaxSz - bufszNow, 					   addOn, 					   tmptr, 					   timeInfo);	        buffer += bufLen;	        bufszNow += bufLen;	        fmt++;	        } /* endif */		     }	 else break;         } /* end forever */    *buffer = EOS;    return (bufszNow);    }/********************************************************************************* __generateTime - generate a string representing the format indicator.** Internal routine** RETURNS:* NOMANUAL*/LOCAL void __generateTime    (    char *            addOn,	/* string buffer */    const struct tm * tmptr, 	/* broken-down time */    TIMELOCALE *      timeInfo,	/* locale information */    int *             pnum,	/* position number for strftime string */    const char *      fmt	/* format to be decoded */    )    {    switch (*fmt)     	{        case 'a':	/* day */    	    __getDay (addOn, tmptr->tm_wday, ABBR, timeInfo, pnum);     	    break;        case 'A':	/* day */    	    __getDay (addOn, tmptr->tm_wday, FULL, timeInfo, pnum);     	    break;        case 'b':	/* month */    	    __getMonth (addOn, tmptr->tm_mon, ABBR, timeInfo, pnum);     	    break;        case 'B':	/* month */    	    __getMonth (addOn, tmptr->tm_mon, FULL, timeInfo, pnum);    	    break;        case 'c': 	/* date and time */    	    __getLocale (addOn, DATETIME, tmptr, timeInfo, pnum);    	    *pnum = -*pnum;    	    break;        case 'd': 	/* day of month */    	    __intToStr (addOn, tmptr->tm_mday, *pnum = 2);     	    break;        case 'H':	/* hour */    	    __intToStr (addOn, tmptr->tm_hour, *pnum = 2);     	    break;        case 'I':	/* hour */    	    __intToStr (addOn, tmptr->tm_hour % 12, *pnum = 2);     	    break;        case 'j':	/* day of year */    	    __intToStr (addOn, tmptr->tm_yday + 1, *pnum = 3);     	    break;        case 'm':	/* month */    	    __intToStr (addOn, tmptr->tm_mon + 1, *pnum = 2);     	    break;        case 'M':	/* minute */    	    __intToStr (addOn, tmptr->tm_min, *pnum = 2);     	    break;        case 'p':	/* AP/PM */    	    __getLocale (addOn, AMPM, tmptr, timeInfo, pnum);    	    break;        case 'S':	/* second */    	    __intToStr (addOn, tmptr->tm_sec, *pnum = 2);        	    break;        case 'U':	/* week number */            __intToStr (addOn, 			__weekOfYear(TM_SUNDAY, tmptr->tm_wday, tmptr->tm_yday),			*pnum = 2);    	    break;        case 'w':	/* weekday */    	    __intToStr (addOn, tmptr->tm_wday, *pnum = 1);     	    break;        case 'W':	/* week number */    	    __intToStr (addOn,     		        __weekOfYear(TM_MONDAY, tmptr->tm_wday, tmptr->tm_yday),     	                *pnum = 2);    	    break;        case 'x':	/* date */    	    __getLocale (addOn, DATE, tmptr, timeInfo, pnum);    	    *pnum = -*pnum;    	    break;        case 'X':	/* time */    	    __getLocale (addOn, TIMEO, tmptr, timeInfo, pnum);       	    *pnum = -*pnum;    	    break;        case 'y':	/* year */    	    __intToStr (addOn, (tmptr->tm_year % CENTURY), *pnum = 2);    	    break;        case 'Y':	/* year */    	    __intToStr (addOn, (tmptr->tm_year + TM_YEAR_BASE), *pnum = 4);    	    break;        case 'Z':	/* zone */    	    __getLocale (addOn, ZONE, tmptr, timeInfo, pnum);    	    break;        case '%':	/* % */    	    memcpy (addOn, CHAR_FROM_CONST ("%"), 1); 	    *pnum = 1;     	    break;        default:    	    *pnum = 0;    	    break;    	}    }/********************************************************************************* __weekOfYear - calulate week of year given julian day and week day.** Internal routine* The <start> determins whether the week starts on Sunday or Monday.** RETURNS:	week of year * NOMANUAL*/LOCAL int __weekOfYear    (    int start,  /* either TM_SUNDAY or TM_MONDAY */    int wday,   /* days since sunday */    int yday    /* days since Jan 1 */    )    {    wday = (wday - start + DAYSPERWEEK) % DAYSPERWEEK;    return ((yday - wday + 12) / DAYSPERWEEK - 1);    }/********************************************************************************* __getLocale - determine locale information given an indicator or the*		   type of information needed.** Internal routine** RETURNS: void* NOMANUAL*/LOCAL void __getLocale    (    char *	      buffer,		/* buffer for the string */    int               desc, 		/* descriptor */    const struct tm * tmptr, 		/* broken-down time */    TIMELOCALE *      timeInfo,		/* locale information */    int *             size		/* size of array returned */    )    {    char *	      p = NULL;    char 	      zoneBuf [sizeof (ZONEBUFFER)];    switch(desc)    	{        case DATETIME:    	    p = timeInfo->_Format [DATETIME];             break;        case DATE:    	    p = timeInfo->_Format [DATE];             break;        case TIMEO:    	    p = timeInfo->_Format [TIMEO];             break;        case AMPM:    	    p = timeInfo->_Ampm [(tmptr->tm_hour <= 12) ? 0 : 1];            break;        case ZONE:    	    (void) __getZoneInfo (zoneBuf, NAME, timeInfo);	    p = zoneBuf;            break;    	}    *size = strlen (p);    strcpy(buffer, p);    }/********************************************************************************* __intToStr - convert an integer into a string of <sz> size with leading *		  zeroes if neccessary.** Internal routine** RETURNS: void* NOMANUAL*/LOCAL void __intToStr    (    char * buffer,	/* buffer for return string */    int    number,	/* the number to be converted */    int    size		/* size of the string, maximum length of 4 */    )    {    if (number < 0) 	number = 0;    for (buffer += size; 0 <= --size; number /= 10)	{	*--buffer = number % 10 + '0';	}    }/********************************************************************************* __getDay - determine the locale representation of the day of the week** RETURNS: void* NOMANUAL*/LOCAL void __getDay    (    char *       buffer,	/* buffer for return string */    int          index, 	/* integer representation of day of the week */    int          abbr,		/* abbrievation or full spelling */    TIMELOCALE * timeInfo,	/* locale information */    int *        size		/* size of the string returned */    )    {    char *       dayStr;    index += (abbr == ABBR) ? 0 : DAYSPERWEEK;    *size = strlen (dayStr = timeInfo->_Days [index]);    strcpy (buffer, dayStr);    }/********************************************************************************* __getMonth - determine the locale representation of the month of the year ** RETURNS: void* NOMANUAL*/LOCAL void __getMonth    (    char *       buffer,	/* buffer for return string */    int          index, 	/* integer representation of month of year */    int          abbr,		/* abbrievation or full spelling */    TIMELOCALE * timeInfo,	/* locale information */    int *        size		/* size of the string returned */    )    {    char *       monStr;    index += (abbr == ABBR) ? 0 : MONSPERYEAR;    *size = strlen (monStr = timeInfo->_Months [index]);    strcpy (buffer, monStr);    }/********************************************************************************  __getDstInfo - determins whether day light savings is in effect.** TIMEZONE is of the form *     <name of zone>::<time in minutes from UTC>:<daylight start>:<daylight end>**	daylight information is expressed as mmddhh ie. month:day:hour**	e.g. UTC::0:040102:100102** RETURNS: FALSE if not on, TRUE otherwise.* NOMANUAL*/int __getDstInfo	    (    struct tm *  timeNow,     TIMELOCALE * timeInfo    )    {    char *       start = NULL;    char *       end = NULL;    char *       dummy = NULL;    char *       envInfo = NULL;    char *       last = "";    int          monStart = 0;    int          monEnd   = 0;    int          dayStart = 0;    int          dayEnd   = 0;    int          hrStart  = 0;    int          hrEnd    = 0;    char         numstr [2];    char         buffer [sizeof (ZONEBUFFER)];    /* Is daylight saving in effect? '0' NO; '>0' YES; '<0' don't know */    /* commented out (SPR #2521)    if (timeNow->tm_isdst != -1)         return (FALSE);    */    /* Is dst information stored in environmental variables */    if ((envInfo = getenv("TIMEZONE")) != NULL)     	{	strcpy (buffer, envInfo);    	dummy = strtok_r (buffer, ":", &last); 			/* next */    	dummy = strtok_r (NULL, ":", &last);   			/* next */    	/* commented out (SPR #2521) *//*     	dummy = strtok_r (NULL, ":", &last);   			/@ next */    	start = strtok_r (NULL, ":", &last); 			/* start time */    	end = strtok_r (NULL, ":", &last);   			/* end time */    	}    else    	{    	/* Is dst information stored in the locale tables */    	start = timeInfo->_Isdst[DSTON];    	end = timeInfo->_Isdst[DSTOFF];    	if ((strcmp (start,"") == 0) || (strcmp (end,"") == 0))    	    return (FALSE);    	}    if ((start == NULL) || (end == NULL))         return (FALSE);    /* analyze the dst information of the form 'mmddhh' */    monStart = (atoi (strncpy (numstr, start, 2))) - 1;       	/*start month */    monEnd = atoi (strncpy (numstr, end, 2)) - 1;           	/* end month */    if ((timeNow->tm_mon < monStart) || (timeNow->tm_mon > monEnd))     	return (FALSE);    if ((timeNow->tm_mon == monStart) || (timeNow->tm_mon == monEnd))    	{    	dayStart = atoi (strncpy (numstr, start+2, 2)); 	/* start day */    	dayEnd = atoi (strncpy (numstr, end+2, 2));     	/* end day */    	if (((timeNow->tm_mon == monStart) && (timeNow->tm_mday < dayStart)) ||     	    ((timeNow->tm_mon == monEnd) && (timeNow->tm_mday > dayEnd)))     	    return (FALSE);    	if (((timeNow->tm_mon == monStart) && (timeNow->tm_mday == dayStart)) ||    	    ((timeNow->tm_mon == monEnd) && (timeNow->tm_mday == dayEnd)))     	    {    	    hrStart = atoi (strncpy (numstr, start+4, 2)); 	/* hour */    	    hrEnd = atoi (strncpy (numstr, end+4, 2));     	/* hour */    	    return ((((timeNow->tm_mon==monStart) &&    		     (timeNow->tm_mday==dayStart) &&    		     (timeNow->tm_hour < hrStart)) ||    		    ((timeNow->tm_mon == monEnd) &&    		     (timeNow->tm_mday==dayEnd) &&    		     (timeNow->tm_hour > hrEnd)))    		   ? FALSE : TRUE);    	    }    	}    return (TRUE);    }/********************************************************************************  __getZoneInfo - determins in minutes the time difference from UTC.** If the environment variable TIMEZONE is set then the information is* retrieved from this variable, otherwise from the locale information.** RETURNS: time in minutes from UTC.* NOMANUAL*/void __getZoneInfo    (    char *       buffer,    int          option, 	/* determine which part of zone information */    TIMELOCALE * timeInfo	/* locale information */    )    {    char *       envInfo;    char *       limitStartPtr;    char *       limitEndPtr;    /* Time zone information from the environment variable */    envInfo = getenv ("TIMEZONE");     if ((envInfo != NULL) && (strcmp (envInfo, "") != 0))     	{	limitEndPtr = strpbrk (envInfo, ":");	if (option == NAME)	    {	    strcpy (buffer, envInfo);	    *(buffer + (limitEndPtr - envInfo)) = EOS;	    return;	    }	limitStartPtr = limitEndPtr + 1;	limitEndPtr = strpbrk (limitStartPtr, ":"); 	if (option == NAME2)	    {	    strcpy (buffer, limitStartPtr);	    *(buffer + (limitEndPtr - limitStartPtr)) = EOS;	    return;	    }	limitStartPtr = limitEndPtr + 1;	limitEndPtr = strpbrk (limitStartPtr, ":"); 	if (option == TIMEOFFSET)	    {	    strcpy (buffer, limitStartPtr);	    if (limitEndPtr != NULL)	        *(buffer + (limitEndPtr - limitStartPtr)) = EOS;	    return;	    }    	}    else	{        /* Time zone information from the locale table */        if (strcmp (timeInfo->_Zone [option], "") != 0)	    strcpy(buffer,timeInfo->_Zone [option]);        else	             *buffer = EOS;        }    }/* time.c - time file for time *//* Copyright 1992-1993 Wind River Systems, Inc. *//*modification history--------------------01c,05feb93,jdi  documentation cleanup for 5.1.01b,20sep92,smb  documentation additions01a,25jul92,smb  written.*//*  DESCRIPTION    INCLUDE FILE: time.h   SEE ALSO: American National Standard X3.159-1989 NOMANUAL*/#include "vxWorks.h"#include "time.h"#include "timers.h"/****************************************************************************** time - determine the current calendar time (ANSI)** This routine returns the implementation's best approximation of current* calendar time in seconds.  If <timer> is non-NULL, the return value is* also copied to the location <timer> points to.** INTERNAL* Uses the POSIX clockLib functions.* Does this return the number of seconds since the BOARD was booted?** INCLUDE FILES: time.h** RETURNS:* The current calendar time in seconds, or ERROR (-1) if the calendar time* is not available.** SEE ALSO: clock_gettime()*/ time_t time    (    time_t *timer	/* calendar time in seconds */    )    {    struct timespec tp;    if (clock_gettime (CLOCK_REALTIME, &tp) == 0)	{	if (timer != NULL)	    *timer = (time_t) tp.tv_sec;	return (time_t) (tp.tv_sec);	}    else	return (time_t) (ERROR);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久免费网| 色诱视频网站一区| 毛片不卡一区二区| 日韩精品福利网| 亚洲国产综合视频在线观看| 亚洲激情成人在线| 亚洲综合免费观看高清完整版 | 欧美中文字幕一区二区三区亚洲| 99久久国产综合精品色伊| 成人av在线一区二区| 99国产精品一区| 精品电影一区二区三区| 国产农村妇女毛片精品久久麻豆 | 欧美私人免费视频| 久久综合色播五月| 自拍偷拍国产精品| 伊人婷婷欧美激情| 9l国产精品久久久久麻豆| 欧洲av在线精品| 亚洲丝袜自拍清纯另类| 国产成人av电影| 色综合婷婷久久| 欧美少妇一区二区| 亚洲美腿欧美偷拍| 老司机精品视频线观看86 | 午夜视频在线观看一区二区| 久久99久久久久| 国产a精品视频| 久久蜜臀精品av| 麻豆视频观看网址久久| 日韩欧美国产一区在线观看| 国产欧美综合在线观看第十页| 麻豆成人久久精品二区三区小说| 欧美精品三级在线观看| 久久久亚洲综合| 国产精品综合网| 色美美综合视频| 久久青草欧美一区二区三区| 美国毛片一区二区| 精品国产亚洲一区二区三区在线观看| 日日嗨av一区二区三区四区| 欧美日韩在线播放三区四区| 欧美激情一区在线| 免费高清视频精品| 91高清视频在线| 一级做a爱片久久| 国产91精品久久久久久久网曝门| 国产婷婷色一区二区三区四区| 亚洲成人自拍网| 99视频超级精品| 亚洲伦理在线免费看| 91视频在线看| 亚洲国产精品精华液2区45| 国产99久久久国产精品| 成人免费在线观看入口| 久久99国产精品久久| 久久九九99视频| 不卡视频在线看| 亚洲一区二区美女| 欧美一区二区视频在线观看2022| 亚洲免费观看高清完整版在线观看 | 日韩高清欧美激情| 91久久香蕉国产日韩欧美9色| 亚洲卡通欧美制服中文| 欧美亚洲国产一区在线观看网站 | 国产欧美日韩视频在线观看| 成人视屏免费看| 国产欧美一区在线| 波多野结衣中文字幕一区二区三区 | 99久久99久久免费精品蜜臀| 一区二区三区在线免费视频| 欧美一区国产二区| 国产精品1024| 久久夜色精品国产噜噜av| 国产成人高清在线| 亚洲精品国产a| 欧美一区二区三区在线观看| 国产乱理伦片在线观看夜一区| 亚洲少妇30p| 欧美一区二区三级| 成人午夜av影视| 爽爽淫人综合网网站| 久久久久久免费网| 欧美在线短视频| 国产综合久久久久久鬼色| 欧美大片国产精品| 成人黄页毛片网站| 午夜视频在线观看一区| 国产日韩精品一区二区浪潮av | 久久精品国产99国产精品| 国产清纯在线一区二区www| 欧洲视频一区二区| 激情小说亚洲一区| 一区二区成人在线视频| 精品国产99国产精品| 日本韩国精品在线| 国产一区二区精品在线观看| 久久久精品国产99久久精品芒果| 色婷婷av一区二区三区gif| 美女网站色91| 亚洲另类在线视频| 久久网站热最新地址| 在线影视一区二区三区| 国产在线播放一区三区四| 一区二区三区日韩| 久久久久国产免费免费| 欧美日韩国产一区二区三区地区| 日韩中文字幕一区二区三区| 日本一区二区不卡视频| 日韩视频永久免费| 亚洲午夜久久久久久久久久久| 久久女同互慰一区二区三区| 精品污污网站免费看| 成人精品一区二区三区中文字幕| 奇米影视在线99精品| 亚洲精品中文在线影院| 国产日韩av一区二区| 91精品国产综合久久香蕉麻豆| 美女爽到高潮91| 一区二区久久久久| 国产精品青草久久| 日本道在线观看一区二区| 国产一区二区三区免费在线观看| 亚洲第一激情av| 中文字幕一区二区不卡| 久久午夜羞羞影院免费观看| 欧美一级免费大片| 欧美性色综合网| 91蝌蚪porny| 成人午夜激情在线| 国内不卡的二区三区中文字幕| 亚洲永久免费av| 亚洲精品欧美二区三区中文字幕| 欧美国产97人人爽人人喊| 欧美大片免费久久精品三p | av不卡在线观看| 风间由美一区二区av101| 久久国产精品第一页| 奇米精品一区二区三区在线观看一| 亚洲国产精品一区二区久久恐怖片 | 一区精品在线播放| 久久久美女艺术照精彩视频福利播放| 欧美一区二区播放| 91麻豆精品国产91久久久使用方法| 欧日韩精品视频| 色天使色偷偷av一区二区| 一本色道综合亚洲| 色综合婷婷久久| 在线观看欧美黄色| 欧美无人高清视频在线观看| 日本电影亚洲天堂一区| 91黄色在线观看| 欧洲精品中文字幕| 在线亚洲人成电影网站色www| 日本精品一区二区三区高清| 色婷婷久久99综合精品jk白丝| 91蜜桃传媒精品久久久一区二区 | 麻豆国产精品777777在线| 免费成人av在线| 另类中文字幕网| 国产一区二区三区香蕉| 高清成人免费视频| 成人动漫一区二区| 91在线视频播放地址| 一本到一区二区三区| 欧美综合天天夜夜久久| 欧美日韩国产首页| 欧美一级国产精品| 久久丝袜美腿综合| 中文字幕精品—区二区四季| 中文字幕佐山爱一区二区免费| 一区二区三区久久| 91美女片黄在线观看| 欧美日韩一区二区在线观看视频| 在线播放欧美女士性生活| 精品欧美一区二区三区精品久久| 一本色道久久综合亚洲91| 在线国产电影不卡| 欧美精品vⅰdeose4hd| 日韩精品在线网站| 欧美激情一区在线观看| 亚洲欧美日韩久久| 性感美女极品91精品| 久久精品国产在热久久| 国产精品一卡二卡在线观看| 99久久综合国产精品| 欧美色涩在线第一页| 91精品国产入口| 国产欧美一二三区| 亚洲人精品午夜| 日本在线不卡一区| 国产福利不卡视频| 色综合久久综合网97色综合 | www.欧美.com| 在线观看91视频| 久久综合成人精品亚洲另类欧美| 国产精品国产精品国产专区不片| 国产欧美视频在线观看| 亚洲精品乱码久久久久久久久 | 日本大胆欧美人术艺术动态|