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

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

?? strtol.c

?? linux平臺中
?? C
字號:
/* Convert string representation of a number into an integer value.   Copyright (C) 1991, 92, 94, 95, 96, 97, 98, 99, 01 Free Software Foundation, Inc.   NOTE: The canonical source of this file is maintained with the GNU C   Library.  Bugs can be reported to bug-glibc@gnu.org.   This program is free software; you can redistribute it and/or modify it   under the terms of the GNU General Public License as published by the   Free Software Foundation; either version 2, or (at your option) any   later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software Foundation,   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */#if HAVE_CONFIG_H# include <config.h>#endif#ifdef _LIBC# define USE_NUMBER_GROUPING# define STDC_HEADERS# define HAVE_LIMITS_H#endif#include <ctype.h>#include <errno.h>#ifndef errnoextern int errno;#endif#ifndef __set_errno# define __set_errno(Val) errno = (Val)#endif#ifdef HAVE_LIMITS_H# include <limits.h>#endif#ifdef STDC_HEADERS# include <stddef.h># include <stdlib.h># include <string.h>#else# ifndef NULL#  define NULL 0# endif#endif#ifdef USE_NUMBER_GROUPING# include "../locale/localeinfo.h"#endif#ifndef CHAR_BIT# define CHAR_BIT 8#endif/* Nonzero if we are defining `strtoul' or `strtoull', operating on   unsigned integers.  */#ifndef UNSIGNED# define UNSIGNED 0# define INT LONG int#else# define INT unsigned LONG int#endif/* Determine the name.  */#ifdef USE_IN_EXTENDED_LOCALE_MODEL# if UNSIGNED#  ifdef USE_WIDE_CHAR#   ifdef QUAD#    define strtol __wcstoull_l#   else#    define strtol __wcstoul_l#   endif#  else#   ifdef QUAD#    define strtol __strtoull_l#   else#    define strtol __strtoul_l#   endif#  endif# else#  ifdef USE_WIDE_CHAR#   ifdef QUAD#    define strtol __wcstoll_l#   else#    define strtol __wcstol_l#   endif#  else#   ifdef QUAD#    define strtol __strtoll_l#   else#    define strtol __strtol_l#   endif#  endif# endif#else# if UNSIGNED#  ifdef USE_WIDE_CHAR#   ifdef QUAD#    define strtol wcstoull#   else#    define strtol wcstoul#   endif#  else#   ifdef QUAD#    define strtol strtoull#   else#    define strtol strtoul#   endif#  endif# else#  ifdef USE_WIDE_CHAR#   ifdef QUAD#    define strtol wcstoll#   else#    define strtol wcstol#   endif#  else#   ifdef QUAD#    define strtol strtoll#   endif#  endif# endif#endif/* If QUAD is defined, we are defining `strtoll' or `strtoull',   operating on `long long int's.  */#ifdef QUAD# define LONG long long# define STRTOL_LONG_MIN LONG_LONG_MIN# define STRTOL_LONG_MAX LONG_LONG_MAX# define STRTOL_ULONG_MAX ULONG_LONG_MAX/* The extra casts work around common compiler bugs,   e.g. Cray C 5.0.3.0 when t == time_t.  */# ifndef TYPE_SIGNED#  define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))# endif# ifndef TYPE_MINIMUM#  define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \				? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) \				: (t) 0))# endif# ifndef TYPE_MAXIMUM#  define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))# endif# ifndef ULONG_LONG_MAX#  define ULONG_LONG_MAX TYPE_MAXIMUM (unsigned long long)# endif# ifndef LONG_LONG_MAX#  define LONG_LONG_MAX TYPE_MAXIMUM (long long int)# endif# ifndef LONG_LONG_MIN#  define LONG_LONG_MIN TYPE_MINIMUM (long long int)# endif# if __GNUC__ == 2 && __GNUC_MINOR__ < 7   /* Work around gcc bug with using this constant.  */   static const unsigned long long int maxquad = ULONG_LONG_MAX;#  undef STRTOL_ULONG_MAX#  define STRTOL_ULONG_MAX maxquad# endif#else# define LONG long# ifndef ULONG_MAX#  define ULONG_MAX ((unsigned long) ~(unsigned long) 0)# endif# ifndef LONG_MAX#  define LONG_MAX ((long int) (ULONG_MAX >> 1))# endif# define STRTOL_LONG_MIN LONG_MIN# define STRTOL_LONG_MAX LONG_MAX# define STRTOL_ULONG_MAX ULONG_MAX#endif/* We use this code also for the extended locale handling where the   function gets as an additional argument the locale which has to be   used.  To access the values we have to redefine the _NL_CURRENT   macro.  */#ifdef USE_IN_EXTENDED_LOCALE_MODEL# undef _NL_CURRENT# define _NL_CURRENT(category, item) \  (current->values[_NL_ITEM_INDEX (item)].string)# define LOCALE_PARAM , loc# define LOCALE_PARAM_DECL __locale_t loc;#else# define LOCALE_PARAM# define LOCALE_PARAM_DECL#endif#if defined _LIBC || defined HAVE_WCHAR_H# include <wchar.h>#endif#ifdef USE_WIDE_CHAR# include <wctype.h># define L_(Ch) L##Ch# define UCHAR_TYPE wint_t# define STRING_TYPE wchar_t# ifdef USE_IN_EXTENDED_LOCALE_MODEL#  define ISSPACE(Ch) __iswspace_l ((Ch), loc)#  define ISALPHA(Ch) __iswalpha_l ((Ch), loc)#  define TOUPPER(Ch) __towupper_l ((Ch), loc)# else#  define ISSPACE(Ch) iswspace (Ch)#  define ISALPHA(Ch) iswalpha (Ch)#  define TOUPPER(Ch) towupper (Ch)# endif#else# if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII)#  define IN_CTYPE_DOMAIN(c) 1# else#  define IN_CTYPE_DOMAIN(c) isascii(c)# endif# define L_(Ch) Ch# define UCHAR_TYPE unsigned char# define STRING_TYPE char# ifdef USE_IN_EXTENDED_LOCALE_MODEL#  define ISSPACE(Ch) __isspace_l ((Ch), loc)#  define ISALPHA(Ch) __isalpha_l ((Ch), loc)#  define TOUPPER(Ch) __toupper_l ((Ch), loc)# else#  define ISSPACE(Ch) (IN_CTYPE_DOMAIN (Ch) && isspace (Ch))#  define ISALPHA(Ch) (IN_CTYPE_DOMAIN (Ch) && isalpha (Ch))#  define TOUPPER(Ch) (IN_CTYPE_DOMAIN (Ch) ? toupper (Ch) : (Ch))# endif#endif/* For compilers which are ansi but don't define __STDC__, like SGI   Irix-4.0.5 cc, also check whether PROTOTYPES is defined. */#if defined (__STDC__) || defined (PROTOTYPES)# define INTERNAL(X) INTERNAL1(X)# define INTERNAL1(X) __##X##_internal# define WEAKNAME(X) WEAKNAME1(X)#else# define INTERNAL(X) __/**/X/**/_internal#endif#ifdef USE_NUMBER_GROUPING/* This file defines a function to check for correct grouping.  */# include "grouping.h"#endif/* Convert NPTR to an `unsigned long int' or `long int' in base BASE.   If BASE is 0 the base is determined by the presence of a leading   zero, indicating octal or a leading "0x" or "0X", indicating hexadecimal.   If BASE is < 2 or > 36, it is reset to 10.   If ENDPTR is not NULL, a pointer to the character after the last   one converted is stored in *ENDPTR.  */INTINTERNAL (strtol) (nptr, endptr, base, group LOCALE_PARAM)     const STRING_TYPE *nptr;     STRING_TYPE **endptr;     int base;     int group;     LOCALE_PARAM_DECL{  int negative;  register unsigned LONG int cutoff;  register unsigned int cutlim;  register unsigned LONG int i;  register const STRING_TYPE *s;  register UCHAR_TYPE c;  const STRING_TYPE *save, *end;  int overflow;#ifdef USE_NUMBER_GROUPING# ifdef USE_IN_EXTENDED_LOCALE_MODEL  struct locale_data *current = loc->__locales[LC_NUMERIC];# endif  /* The thousands character of the current locale.  */  wchar_t thousands = L'\0';  /* The numeric grouping specification of the current locale,     in the format described in <locale.h>.  */  const char *grouping;  if (group)    {      grouping = _NL_CURRENT (LC_NUMERIC, GROUPING);      if (*grouping <= 0 || *grouping == CHAR_MAX)	grouping = NULL;      else	{	  /* Figure out the thousands separator character.  */# if defined _LIBC || defined _HAVE_BTOWC	  thousands = __btowc (*_NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP));	  if (thousands == WEOF)	    thousands = L'\0';# endif	  if (thousands == L'\0')	    grouping = NULL;	}    }  else    grouping = NULL;#endif  if (base < 0 || base == 1 || base > 36)    {      __set_errno (EINVAL);      return 0;    }  save = s = nptr;  /* Skip white space.  */  while (ISSPACE (*s))    ++s;  if (*s == L_('\0'))    goto noconv;  /* Check for a sign.  */  if (*s == L_('-'))    {      negative = 1;      ++s;    }  else if (*s == L_('+'))    {      negative = 0;      ++s;    }  else    negative = 0;  /* Recognize number prefix and if BASE is zero, figure it out ourselves.  */  if (*s == L_('0'))    {      if ((base == 0 || base == 16) && TOUPPER (s[1]) == L_('X'))	{	  s += 2;	  base = 16;	}      else if (base == 0)	base = 8;    }  else if (base == 0)    base = 10;  /* Save the pointer so we can check later if anything happened.  */  save = s;#ifdef USE_NUMBER_GROUPING  if (group)    {      /* Find the end of the digit string and check its grouping.  */      end = s;      for (c = *end; c != L_('\0'); c = *++end)	if ((wchar_t) c != thousands	    && ((wchar_t) c < L_('0') || (wchar_t) c > L_('9'))	    && (!ISALPHA (c) || (int) (TOUPPER (c) - L_('A') + 10) >= base))	  break;      if (*s == thousands)	end = s;      else	end = correctly_grouped_prefix (s, end, thousands, grouping);    }  else#endif    end = NULL;  cutoff = STRTOL_ULONG_MAX / (unsigned LONG int) base;  cutlim = STRTOL_ULONG_MAX % (unsigned LONG int) base;  overflow = 0;  i = 0;  for (c = *s; c != L_('\0'); c = *++s)    {      if (s == end)	break;      if (c >= L_('0') && c <= L_('9'))	c -= L_('0');      else if (ISALPHA (c))	c = TOUPPER (c) - L_('A') + 10;      else	break;      if ((int) c >= base)	break;      /* Check for overflow.  */      if (i > cutoff || (i == cutoff && c > cutlim))	overflow = 1;      else	{	  i *= (unsigned LONG int) base;	  i += c;	}    }  /* Check if anything actually happened.  */  if (s == save)    goto noconv;  /* Store in ENDPTR the address of one character     past the last character we converted.  */  if (endptr != NULL)    *endptr = (STRING_TYPE *) s;#if !UNSIGNED  /* Check for a value that is within the range of     `unsigned LONG int', but outside the range of `LONG int'.  */  if (overflow == 0      && i > (negative	      ? -((unsigned LONG int) (STRTOL_LONG_MIN + 1)) + 1	      : (unsigned LONG int) STRTOL_LONG_MAX))    overflow = 1;#endif  if (overflow)    {      __set_errno (ERANGE);#if UNSIGNED      return STRTOL_ULONG_MAX;#else      return negative ? STRTOL_LONG_MIN : STRTOL_LONG_MAX;#endif    }  /* Return the result of the appropriate sign.  */  return negative ? -i : i;noconv:  /* We must handle a special case here: the base is 0 or 16 and the     first two characters are '0' and 'x', but the rest are no     hexadecimal digits.  This is no error case.  We return 0 and     ENDPTR points to the `x`.  */  if (endptr != NULL)    {      if (save - nptr >= 2 && TOUPPER (save[-1]) == L_('X')	  && save[-2] == L_('0'))	*endptr = (STRING_TYPE *) &save[-1];      else	/*  There was no number to convert.  */	*endptr = (STRING_TYPE *) nptr;    }  return 0L;}/* External user entry point.  */#if _LIBC - 0 == 0# undef PARAMS# if defined (__STDC__) && __STDC__#  define PARAMS(Args) Args# else#  define PARAMS(Args) ()# endif/* Prototype.  */INT strtol PARAMS ((const STRING_TYPE *nptr, STRING_TYPE **endptr, int base));#endifINT#ifdef weak_functionweak_function#endifstrtol (nptr, endptr, base LOCALE_PARAM)     const STRING_TYPE *nptr;     STRING_TYPE **endptr;     int base;     LOCALE_PARAM_DECL{  return INTERNAL (strtol) (nptr, endptr, base, 0 LOCALE_PARAM);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产欧美另类丝袜| 欧美在线看片a免费观看| 91原创在线视频| 91精品国产色综合久久不卡电影| 国产精品少妇自拍| 九色综合国产一区二区三区| 欧美亚洲禁片免费| 国产精品超碰97尤物18| 国产一区二区看久久| 欧美亚洲综合久久| 中文字幕精品一区二区三区精品| 日本视频在线一区| 色婷婷亚洲精品| 中文字幕乱码亚洲精品一区| 麻豆精品一区二区三区| 欧美人牲a欧美精品| 一区二区激情小说| 91免费视频网| 国产精品国产自产拍高清av王其 | 制服丝袜亚洲播放| 亚洲视频免费看| 成人深夜视频在线观看| 久久久影院官网| 国内精品自线一区二区三区视频| 日韩视频一区在线观看| 午夜精品福利视频网站 | 国产成人aaa| 久久久亚洲精品石原莉奈| 精品一区中文字幕| 日韩美女一区二区三区| 视频一区二区中文字幕| 欧美三级电影一区| 亚洲国产日产av| 欧美精品精品一区| 日韩电影在线免费看| 777奇米成人网| 日韩电影免费一区| 欧美一区二区播放| 久久99精品网久久| www精品美女久久久tv| 国内成人精品2018免费看| 精品国产污污免费网站入口 | 337p粉嫩大胆噜噜噜噜噜91av| 人人爽香蕉精品| 日韩欧美亚洲国产另类| 久久国产剧场电影| 国产三级一区二区| 一本久道中文字幕精品亚洲嫩| 亚洲视频精选在线| 欧美国产97人人爽人人喊| 国产成人高清在线| 亚洲天堂a在线| 欧美日韩国产高清一区| 久久99久久久久久久久久久| 久久综合色之久久综合| 99国产精品久久久久久久久久久 | 欧美在线观看你懂的| 日本美女视频一区二区| 久久久精品黄色| 在线免费一区三区| 韩日欧美一区二区三区| 成人免费在线视频观看| 欧美区在线观看| 国产一区二区三区在线观看免费| 国产精品初高中害羞小美女文| 精品婷婷伊人一区三区三| 久久精品72免费观看| 中文字幕在线视频一区| 欧美少妇xxx| 欧美精品v日韩精品v韩国精品v| 精品一区免费av| 亚洲三级小视频| 精品国产凹凸成av人导航| 97超碰欧美中文字幕| 激情偷乱视频一区二区三区| 亚洲精品五月天| 欧美精品一区二| 欧美日韩亚洲综合| www.日本不卡| 老司机免费视频一区二区三区| 亚洲摸摸操操av| 国产三级精品三级| 91精品在线免费观看| 成人精品亚洲人成在线| 精品夜夜嗨av一区二区三区| 亚洲精品高清在线观看| 久久精品一区二区三区不卡| 欧美日韩一区二区三区视频| 岛国av在线一区| 美女一区二区视频| 亚洲精品久久7777| 中文子幕无线码一区tr| 精品国产第一区二区三区观看体验| 色狠狠一区二区三区香蕉| 国产suv精品一区二区三区| 蜜桃视频在线一区| 天堂久久一区二区三区| 一区二区三区丝袜| 亚洲国产经典视频| 国产人久久人人人人爽| 欧美成人性战久久| 欧美欧美欧美欧美首页| 色噜噜久久综合| 成+人+亚洲+综合天堂| 国产一区二区美女诱惑| 国产综合久久久久影院| 久久精品国产99国产精品| 性久久久久久久久久久久| 亚洲一区二区不卡免费| 一级精品视频在线观看宜春院| 中文字幕五月欧美| 亚洲视频一区二区在线观看| 国产精品福利一区二区| 国产精品成人免费在线| 18成人在线观看| 亚洲欧美视频一区| 亚洲一区影音先锋| 亚洲韩国一区二区三区| 亚洲国产成人porn| 天堂va蜜桃一区二区三区| 亚洲成人av中文| 午夜不卡在线视频| 天堂影院一区二区| 久久99精品久久久久婷婷| 韩国精品免费视频| 成人app网站| 欧美影视一区在线| 欧美一区二区二区| 国产色综合一区| 一区二区三区中文字幕电影| 亚洲一线二线三线视频| 午夜电影一区二区三区| 免费观看成人av| 国产精品综合av一区二区国产馆| 成人爽a毛片一区二区免费| 91亚洲午夜精品久久久久久| 欧美日韩中文字幕精品| 欧美成人免费网站| 国产精品福利av| 丝袜美腿亚洲色图| 紧缚奴在线一区二区三区| 成人av片在线观看| 欧美视频在线一区二区三区 | 日韩和欧美一区二区三区| 蜜臀精品一区二区三区在线观看 | 蜜臀av国产精品久久久久| 国产精品一区2区| 91看片淫黄大片一级在线观看| 欧美视频精品在线观看| 26uuu亚洲| 亚洲一区二区三区不卡国产欧美| 美腿丝袜亚洲综合| 成a人片亚洲日本久久| 91精品久久久久久久91蜜桃| 久久久精品日韩欧美| 亚洲免费av网站| 精品一区二区三区免费| 色婷婷激情一区二区三区| 精品人在线二区三区| 亚洲欧洲三级电影| 欧美日韩国产首页在线观看| 日韩精品一区二| 亚洲主播在线观看| 国产福利不卡视频| 欧美疯狂做受xxxx富婆| 亚洲人精品午夜| 精久久久久久久久久久| 欧美色综合天天久久综合精品| 亚洲精品在线免费观看视频| 亚洲国产精品综合小说图片区| 成人黄色小视频在线观看| 这里只有精品视频在线观看| 国产精品久久夜| 激情综合色综合久久综合| 在线亚洲高清视频| 中文字幕欧美日韩一区| 国产一区二区三区久久久| 欧美嫩在线观看| 亚洲一区二区美女| 波多野结衣中文字幕一区二区三区 | 欧美另类久久久品| 亚洲免费在线观看视频| 丁香激情综合国产| 久久久久久久精| 精品亚洲aⅴ乱码一区二区三区| 欧美日韩久久久久久| 亚洲色图清纯唯美| 成人激情开心网| 国产亚洲女人久久久久毛片| 狂野欧美性猛交blacked| 9191精品国产综合久久久久久| 亚洲一区二区三区四区在线观看 | 国产精品色噜噜| 国产aⅴ综合色| 国产日韩精品视频一区| 国产精品影视天天线| 精品成人私密视频| 国产精品亚洲人在线观看| 国产性做久久久久久| 国产很黄免费观看久久|