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

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

?? fnmatch.c

?? Linux下文件工具。
?? C
字號:
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, 2001,   2002 Free Software Foundation, Inc.   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/* Enable GNU extensions in fnmatch.h.  */#ifndef _GNU_SOURCE# define _GNU_SOURCE	1#endif#ifdef __GNUC__# define alloca __builtin_alloca# define HAVE_ALLOCA 1#else# if defined HAVE_ALLOCA_H || defined _LIBC#  include <alloca.h># else#  ifdef _AIX #  pragma alloca#  else#   ifndef allocachar *alloca ();#   endif#  endif# endif#endif#if ! defined __builtin_expect && __GNUC__ < 3# define __builtin_expect(expr, expected) (expr)#endif#include <assert.h>#include <errno.h>#include <fnmatch.h>#include <ctype.h>#if HAVE_STRING_H || defined _LIBC# include <string.h>#else# if HAVE_STRINGS_H#  include <strings.h># endif#endif#if defined STDC_HEADERS || defined _LIBC# include <stddef.h># include <stdlib.h>#endif#define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)/* For platform which support the ISO C amendement 1 functionality we   support user defined character classes.  */#if defined _LIBC || WIDE_CHAR_SUPPORT/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.  */# include <wchar.h># include <wctype.h>#endif/* We need some of the locale data (the collation sequence information)   but there is no interface to get this information in general.  Therefore   we support a correct implementation only in glibc.  */#ifdef _LIBC# include "../locale/localeinfo.h"# include "../locale/elem-hash.h"# include "../locale/coll-lookup.h"# include <shlib-compat.h># define CONCAT(a,b) __CONCAT(a,b)# define mbsinit __mbsinit# define mbsrtowcs __mbsrtowcs# define fnmatch __fnmatchextern int fnmatch (const char *pattern, const char *string, int flags);#endif/* We often have to test for FNM_FILE_NAME and FNM_PERIOD being both set.  */#define NO_LEADING_PERIOD(flags) \  ((flags & (FNM_FILE_NAME | FNM_PERIOD)) == (FNM_FILE_NAME | FNM_PERIOD))/* Comment out all this code if we are using the GNU C Library, are not   actually compiling the library itself, and have not detected a bug   in the library.  This code is part of the GNU C   Library, but also included in many other GNU distributions.  Compiling   and linking in this code is a waste when using the GNU C library   (especially if it is a shared library).  Rather than having every GNU   program understand `configure --with-gnu-libc' and omit the object files,   it is simpler to just do this in the source for each such file.  */#if defined _LIBC || !defined __GNU_LIBRARY__ || !HAVE_FNMATCH_GNU# if defined STDC_HEADERS || !defined isascii#  define ISASCII(c) 1# else#  define ISASCII(c) isascii(c)# endif# ifdef isblank#  define ISBLANK(c) (ISASCII (c) && isblank (c))# else#  define ISBLANK(c) ((c) == ' ' || (c) == '\t')# endif# ifdef isgraph#  define ISGRAPH(c) (ISASCII (c) && isgraph (c))# else#  define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c))# endif# define ISPRINT(c) (ISASCII (c) && isprint (c))# define ISDIGIT(c) (ISASCII (c) && isdigit (c))# define ISALNUM(c) (ISASCII (c) && isalnum (c))# define ISALPHA(c) (ISASCII (c) && isalpha (c))# define ISCNTRL(c) (ISASCII (c) && iscntrl (c))# define ISLOWER(c) (ISASCII (c) && islower (c))# define ISPUNCT(c) (ISASCII (c) && ispunct (c))# define ISSPACE(c) (ISASCII (c) && isspace (c))# define ISUPPER(c) (ISASCII (c) && isupper (c))# define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))# define STREQ(s1, s2) ((strcmp (s1, s2) == 0))# if defined _LIBC || WIDE_CHAR_SUPPORT/* The GNU C library provides support for user-defined character classes   and the functions from ISO C amendement 1.  */#  ifdef CHARCLASS_NAME_MAX#   define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX#  else/* This shouldn't happen but some implementation might still have this   problem.  Use a reasonable default value.  */#   define CHAR_CLASS_MAX_LENGTH 256#  endif#  ifdef _LIBC#   define IS_CHAR_CLASS(string) __wctype (string)#  else#   define IS_CHAR_CLASS(string) wctype (string)#  endif#  ifdef _LIBC#   define ISWCTYPE(WC, WT)	__iswctype (WC, WT)#  else#   define ISWCTYPE(WC, WT)	iswctype (WC, WT)#  endif#  if (HAVE_MBSTATE_T && HAVE_MBSRTOWCS) || _LIBC/* In this case we are implementing the multibyte character handling.  */#   define HANDLE_MULTIBYTE	1#  endif# else#  define CHAR_CLASS_MAX_LENGTH  6 /* Namely, `xdigit'.  */#  define IS_CHAR_CLASS(string)						      \   (STREQ (string, "alpha") || STREQ (string, "upper")			      \    || STREQ (string, "lower") || STREQ (string, "digit")		      \    || STREQ (string, "alnum") || STREQ (string, "xdigit")		      \    || STREQ (string, "space") || STREQ (string, "print")		      \    || STREQ (string, "punct") || STREQ (string, "graph")		      \    || STREQ (string, "cntrl") || STREQ (string, "blank"))# endif/* Avoid depending on library functions or files   whose names are inconsistent.  */# if !defined _LIBC && !defined getenv && !HAVE_DECL_GETENVextern char *getenv ();# endif# ifndef errnoextern int errno;# endif/* Global variable.  */static int posixly_correct;# ifndef internal_function/* Inside GNU libc we mark some function in a special way.  In other   environments simply ignore the marking.  */#  define internal_function# endif/* Note that this evaluates C many times.  */# ifdef _LIBC#  define FOLD(c) ((flags & FNM_CASEFOLD) ? tolower (c) : (c))# else#  define FOLD(c) ((flags & FNM_CASEFOLD) && ISUPPER (c) ? tolower (c) : (c))# endif# define CHAR	char# define UCHAR	unsigned char# define INT	int# define FCT	internal_fnmatch# define EXT	ext_match# define END	end_pattern# define L(CS)	CS# ifdef _LIBC#  define BTOWC(C)	__btowc (C)# else#  define BTOWC(C)	btowc (C)# endif# define STRLEN(S) strlen (S)# define STRCAT(D, S) strcat (D, S)# ifdef _LIBC#  define MEMPCPY(D, S, N) __mempcpy (D, S, N)# else#  if HAVE_MEMPCPY#   define MEMPCPY(D, S, N) mempcpy (D, S, N)#  else#   define MEMPCPY(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N)))#  endif# endif# define MEMCHR(S, C, N) memchr (S, C, N)# define STRCOLL(S1, S2) strcoll (S1, S2)# include "fnmatch_loop.c"# if HANDLE_MULTIBYTE#  define FOLD(c) ((flags & FNM_CASEFOLD) ? towlower (c) : (c))#  define CHAR	wchar_t#  define UCHAR	wint_t#  define INT	wint_t#  define FCT	internal_fnwmatch#  define EXT	ext_wmatch#  define END	end_wpattern#  define L(CS)	L##CS#  define BTOWC(C)	(C)#  ifdef _LIBC#   define STRLEN(S) __wcslen (S)#   define STRCAT(D, S) __wcscat (D, S)#   define MEMPCPY(D, S, N) __wmempcpy (D, S, N)#  else#   define STRLEN(S) wcslen (S)#   define STRCAT(D, S) wcscat (D, S)#   if HAVE_WMEMPCPY#    define MEMPCPY(D, S, N) wmempcpy (D, S, N)#   else#    define MEMPCPY(D, S, N) (wmemcpy (D, S, N) + (N))#   endif#  endif#  define MEMCHR(S, C, N) wmemchr (S, C, N)#  define STRCOLL(S1, S2) wcscoll (S1, S2)#  define WIDE_CHAR_VERSION 1#  undef IS_CHAR_CLASS/* We have to convert the wide character string in a multibyte string.  But   we know that the character class names consist of alphanumeric characters   from the portable character set, and since the wide character encoding   for a member of the portable character set is the same code point as   its single-byte encoding, we can use a simplified method to convert the   string to a multibyte character string.  */static wctype_tis_char_class (const wchar_t *wcs){  char s[CHAR_CLASS_MAX_LENGTH + 1];  char *cp = s;  do    {      /* Test for a printable character from the portable character set.  */#  ifdef _LIBC      if (*wcs < 0x20 || *wcs > 0x7e	  || *wcs == 0x24 || *wcs == 0x40 || *wcs == 0x60)	return (wctype_t) 0;#  else      switch (*wcs)	{	case L' ': case L'!': case L'"': case L'#': case L'%':	case L'&': case L'\'': case L'(': case L')': case L'*':	case L'+': case L',': case L'-': case L'.': case L'/':	case L'0': case L'1': case L'2': case L'3': case L'4':	case L'5': case L'6': case L'7': case L'8': case L'9':	case L':': case L';': case L'<': case L'=': case L'>':	case L'?':	case L'A': case L'B': case L'C': case L'D': case L'E':	case L'F': case L'G': case L'H': case L'I': case L'J':	case L'K': case L'L': case L'M': case L'N': case L'O':	case L'P': case L'Q': case L'R': case L'S': case L'T':	case L'U': case L'V': case L'W': case L'X': case L'Y':	case L'Z':	case L'[': case L'\\': case L']': case L'^': case L'_':	case L'a': case L'b': case L'c': case L'd': case L'e':	case L'f': case L'g': case L'h': case L'i': case L'j':	case L'k': case L'l': case L'm': case L'n': case L'o':	case L'p': case L'q': case L'r': case L's': case L't':	case L'u': case L'v': case L'w': case L'x': case L'y':	case L'z': case L'{': case L'|': case L'}': case L'~':	  break;	default:	  return (wctype_t) 0;	}#  endif      /* Avoid overrunning the buffer.  */      if (cp == s + CHAR_CLASS_MAX_LENGTH)	return (wctype_t) 0;      *cp++ = (char) *wcs++;    }  while (*wcs != L'\0');  *cp = '\0';#  ifdef _LIBC  return __wctype (s);#  else  return wctype (s);#  endif}#  define IS_CHAR_CLASS(string) is_char_class (string)#  include "fnmatch_loop.c"# endifintfnmatch (pattern, string, flags)     const char *pattern;     const char *string;     int flags;{# if HANDLE_MULTIBYTE  if (__builtin_expect (MB_CUR_MAX, 1) != 1)    {      mbstate_t ps;      size_t n;      wchar_t *wpattern;      wchar_t *wstring;      /* Convert the strings into wide characters.  */      memset (&ps, '\0', sizeof (ps));      n = mbsrtowcs (NULL, &pattern, 0, &ps);      if (__builtin_expect (n, 0) == (size_t) -1)	/* Something wrong.	   XXX Do we have to set `errno' to something which mbsrtows hasn't	   already done?  */	return -1;      wpattern = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));      assert (mbsinit (&ps));      (void) mbsrtowcs (wpattern, &pattern, n + 1, &ps);      assert (mbsinit (&ps));      n = mbsrtowcs (NULL, &string, 0, &ps);      if (__builtin_expect (n, 0) == (size_t) -1)	/* Something wrong.	   XXX Do we have to set `errno' to something which mbsrtows hasn't	   already done?  */	return -1;      wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));      assert (mbsinit (&ps));      (void) mbsrtowcs (wstring, &string, n + 1, &ps);      return internal_fnwmatch (wpattern, wstring, wstring + n,				flags & FNM_PERIOD, flags);    }# endif  /* mbstate_t and mbsrtowcs or _LIBC.  */  return internal_fnmatch (pattern, string, string + strlen (string),			   flags & FNM_PERIOD, flags);}# ifdef _LIBC#  undef fnmatchversioned_symbol (libc, __fnmatch, fnmatch, GLIBC_2_2_3);#  if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_3)strong_alias (__fnmatch, __fnmatch_old)compat_symbol (libc, __fnmatch_old, fnmatch, GLIBC_2_0);#  endif# endif#endif	/* _LIBC or not __GNU_LIBRARY__.  */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久福利| 国产成人av电影在线观看| 在线影院国内精品| 一区二区三区四区视频精品免费| 91免费看视频| 日韩成人一级片| 精品久久久久一区二区国产| 国产精品一区二区久激情瑜伽| 欧美国产精品中文字幕| 91在线观看成人| 午夜一区二区三区视频| 日韩视频一区二区| 波多野结衣一区二区三区| 一区二区在线观看视频| 欧美一区二区三区免费观看视频| 国产精品1区2区3区在线观看| 亚洲欧洲另类国产综合| 欧美午夜一区二区三区免费大片| 免费成人av在线播放| 欧美国产一区二区| 欧美吻胸吃奶大尺度电影| 久久99国内精品| 亚洲三级在线看| 日韩一级视频免费观看在线| 成人午夜av电影| 污片在线观看一区二区| 国产欧美一区二区三区鸳鸯浴 | 亚洲国产精品传媒在线观看| 91黄色免费看| 国内精品免费**视频| 亚洲精品成人少妇| 久久免费电影网| 欧美老年两性高潮| 不卡视频一二三四| 九一久久久久久| 亚洲香肠在线观看| 中文字幕一区在线| 日韩三级在线免费观看| 一本色道久久加勒比精品 | 亚洲福中文字幕伊人影院| xnxx国产精品| 欧美日韩一级二级三级| 91免费视频网| 福利一区二区在线观看| 日韩在线播放一区二区| 一区二区三区中文字幕电影 | 一区二区三区国产精品| 91在线观看成人| 久久精品日韩一区二区三区| 成人免费福利片| 一二三四社区欧美黄| 欧美美女一区二区三区| 国产在线精品一区二区三区不卡 | 日韩欧美在线网站| 国产99一区视频免费| 亚洲精品水蜜桃| 欧美精品久久久久久久多人混战| 麻豆成人免费电影| 日本一区二区三区免费乱视频| 91电影在线观看| 免费成人深夜小野草| 国产精品久久久久久久久图文区| 日本韩国欧美在线| 激情六月婷婷综合| 17c精品麻豆一区二区免费| 欧美日韩国产美| 成人中文字幕合集| 亚洲成av人片一区二区三区| wwwwxxxxx欧美| 色综合 综合色| 国产一区二区三区在线观看免费| 亚洲裸体在线观看| 精品国产乱子伦一区| 91麻豆国产福利在线观看| 久久国产福利国产秒拍| 亚洲综合在线观看视频| 久久精品夜夜夜夜久久| 欧美久久免费观看| 成人精品小蝌蚪| 精品综合免费视频观看| 亚洲成人激情自拍| 国产精品入口麻豆原神| 欧美一级夜夜爽| 91老司机福利 在线| 国产一区二区三区在线观看免费| 亚洲一卡二卡三卡四卡| 久久精品人人做人人爽97| 91精品国产综合久久久久久久久久| 成人一区在线观看| 蜜臀av一区二区| 亚洲成a人片在线观看中文| 亚洲日本va午夜在线影院| 久久久久久免费毛片精品| 日韩欧美不卡一区| 欧美色区777第一页| 在线视频一区二区免费| 不卡视频在线观看| 成人性视频免费网站| 久久99热这里只有精品| 日韩电影一区二区三区| 午夜精品久久久久久久| 亚洲国产精品一区二区尤物区| 国产精品毛片a∨一区二区三区| 久久久久久久精| 久久久久高清精品| 久久奇米777| 欧美变态口味重另类| 欧美一区二区三区思思人| 欧美日本国产视频| 欧美喷潮久久久xxxxx| 欧美美女视频在线观看| 欧美私人免费视频| 69堂亚洲精品首页| 欧美日韩的一区二区| 91精品午夜视频| 日韩欧美色电影| 久久久一区二区三区捆绑**| 久久久久久久久久久黄色| 国产人妖乱国产精品人妖| 久久影院电视剧免费观看| 自拍偷拍亚洲综合| 亚洲私人影院在线观看| 一区二区三区精品在线| 亚洲激情图片小说视频| 亚洲一区二区中文在线| 日韩成人av影视| 久久狠狠亚洲综合| 丁香另类激情小说| 91亚洲精品久久久蜜桃| 欧美性猛交xxxx乱大交退制版| 欧美丰满一区二区免费视频| 日韩亚洲电影在线| 国产亚洲欧美色| 亚洲免费在线视频一区 二区| 亚洲成人av电影| 黄页视频在线91| 99精品一区二区三区| 在线精品观看国产| 日韩欧美一级精品久久| 国产精品久久久久aaaa樱花| 一区二区三区91| 久久91精品久久久久久秒播| 成人免费va视频| 欧美日韩另类一区| 久久精品视频免费| 亚洲在线一区二区三区| 九色综合狠狠综合久久| 色屁屁一区二区| 精品少妇一区二区三区在线播放 | 久久 天天综合| 色丁香久综合在线久综合在线观看| 欧美福利电影网| 国产精品久久久久一区二区三区共| 亚洲一区二区三区在线播放| 国产专区欧美精品| 欧美性大战久久| 久久久99精品免费观看不卡| 亚洲午夜av在线| 国产精品系列在线播放| 91麻豆自制传媒国产之光| 精品成人在线观看| 亚洲一二三级电影| 99久久综合99久久综合网站| 在线成人av影院| 亚洲色图视频网| 国产成人8x视频一区二区 | 亚洲婷婷在线视频| 蜜桃视频免费观看一区| 日本高清无吗v一区| 欧美极品美女视频| 久久精品国产一区二区三区免费看| 91麻豆免费观看| 亚洲国产精品99久久久久久久久| 美日韩一区二区三区| 欧美中文字幕亚洲一区二区va在线 | 中文字幕在线一区二区三区| 久久99九九99精品| 3d动漫精品啪啪1区2区免费| 怡红院av一区二区三区| 不卡电影免费在线播放一区| 精品国免费一区二区三区| 日本成人在线看| 欧美日韩mp4| 五月婷婷欧美视频| 欧洲av在线精品| 玉足女爽爽91| 欧美在线一二三| 亚洲三级理论片| 91亚洲大成网污www| 中文字幕欧美激情一区| 国产不卡在线播放| 欧美国产精品久久| 成人av在线网站| 欧美国产97人人爽人人喊| 国产69精品久久久久777| 国产亚洲欧美在线| 不卡一区中文字幕| 亚洲日穴在线视频| 91激情五月电影| 三级欧美韩日大片在线看|