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

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

?? glob.c

?? 著名游戲quake2原代碼最新版本(vc6.0可以編譯的)
?? C
字號:
/*
Copyright (C) 1997-2001 Id Software, 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
of the License, 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.

*/

#include <stdio.h>
#include "../linux/glob.h"

/* Like glob_match, but match PATTERN against any final segment of TEXT.  */
static int glob_match_after_star(char *pattern, char *text)
{
	register char *p = pattern, *t = text;
	register char c, c1;

	while ((c = *p++) == '?' || c == '*')
		if (c == '?' && *t++ == '\0')
			return 0;

	if (c == '\0')
		return 1;

	if (c == '\\')
		c1 = *p;
	else
		c1 = c;

	while (1) {
		if ((c == '[' || *t == c1) && glob_match(p - 1, t))
			return 1;
		if (*t++ == '\0')
			return 0;
	}
}

/* Return nonzero if PATTERN has any special globbing chars in it.  */
static int glob_pattern_p(char *pattern)
{
	register char *p = pattern;
	register char c;
	int open = 0;

	while ((c = *p++) != '\0')
		switch (c) {
		case '?':
		case '*':
			return 1;

		case '[':		/* Only accept an open brace if there is a close */
			open++;		/* brace to match it.  Bracket expressions must be */
			continue;	/* complete, according to Posix.2 */
		case ']':
			if (open)
				return 1;
			continue;

		case '\\':
			if (*p++ == '\0')
				return 0;
		}

	return 0;
}

/* Match the pattern PATTERN against the string TEXT;
   return 1 if it matches, 0 otherwise.

   A match means the entire string TEXT is used up in matching.

   In the pattern string, `*' matches any sequence of characters,
   `?' matches any character, [SET] matches any character in the specified set,
   [!SET] matches any character not in the specified set.

   A set is composed of characters or ranges; a range looks like
   character hyphen character (as in 0-9 or A-Z).
   [0-9a-zA-Z_] is the set of characters allowed in C identifiers.
   Any other character in the pattern must be matched exactly.

   To suppress the special syntactic significance of any of `[]*?!-\',
   and match the character exactly, precede it with a `\'.
*/

int glob_match(char *pattern, char *text)
{
	register char *p = pattern, *t = text;
	register char c;

	while ((c = *p++) != '\0')
		switch (c) {
		case '?':
			if (*t == '\0')
				return 0;
			else
				++t;
			break;

		case '\\':
			if (*p++ != *t++)
				return 0;
			break;

		case '*':
			return glob_match_after_star(p, t);

		case '[':
			{
				register char c1 = *t++;
				int invert;

				if (!c1)
					return (0);

				invert = ((*p == '!') || (*p == '^'));
				if (invert)
					p++;

				c = *p++;
				while (1) {
					register char cstart = c, cend = c;

					if (c == '\\') {
						cstart = *p++;
						cend = cstart;
					}
					if (c == '\0')
						return 0;

					c = *p++;
					if (c == '-' && *p != ']') {
						cend = *p++;
						if (cend == '\\')
							cend = *p++;
						if (cend == '\0')
							return 0;
						c = *p++;
					}
					if (c1 >= cstart && c1 <= cend)
						goto match;
					if (c == ']')
						break;
				}
				if (!invert)
					return 0;
				break;

			  match:
				/* Skip the rest of the [...] construct that already matched.  */
				while (c != ']') {
					if (c == '\0')
						return 0;
					c = *p++;
					if (c == '\0')
						return 0;
					else if (c == '\\')
						++p;
				}
				if (invert)
					return 0;
				break;
			}

		default:
			if (c != *t++)
				return 0;
		}

	return *t == '\0';
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美久久久精品影院| 男女男精品网站| 人人超碰91尤物精品国产| 国产成人在线视频网址| 精品婷婷伊人一区三区三| 久久久精品免费网站| 亚洲高清不卡在线| 91亚洲精品一区二区乱码| 精品国产凹凸成av人网站| 亚洲成人免费在线| 色综合天天综合| 欧美激情综合五月色丁香小说| 日韩激情一区二区| 91久久精品午夜一区二区| 国产精品午夜免费| 国产麻豆视频精品| 欧美不卡激情三级在线观看| 丝袜a∨在线一区二区三区不卡| 91麻豆免费观看| 国产精品白丝在线| 成人午夜av在线| 久久久久久久网| 激情综合色综合久久综合| 日韩欧美国产高清| 蜜桃久久久久久久| 日韩你懂的在线播放| 美女在线视频一区| 精品毛片乱码1区2区3区| 麻豆国产欧美日韩综合精品二区| 欧美日韩另类一区| 三级欧美在线一区| 日韩欧美国产一二三区| 男男gaygay亚洲| 欧美va亚洲va香蕉在线| 精品一区二区av| 国产肉丝袜一区二区| 丁香婷婷综合色啪| 中文字幕一区二区三区乱码在线 | 国产凹凸在线观看一区二区| 91精品在线观看入口| 理论电影国产精品| 国产欧美日本一区视频| 99国产一区二区三精品乱码| 亚洲青青青在线视频| 91福利视频久久久久| 日韩高清在线观看| 欧美变态tickling挠脚心| 国产一区二区伦理片| 国产精品国产三级国产| 色综合天天天天做夜夜夜夜做| 亚洲自拍偷拍麻豆| 欧美一卡二卡在线| 国产经典欧美精品| 亚洲精品一二三| 欧美一区二区三区免费视频| 国产精品一区二区视频| 亚洲免费伊人电影| 欧美一区二区啪啪| 成人午夜精品在线| 午夜精品在线视频一区| 久久久久久久久97黄色工厂| 色综合久久综合网欧美综合网| 日韩电影在线一区二区| 国产欧美日韩视频在线观看| 色女孩综合影院| 韩国欧美国产1区| 亚洲欧洲精品天堂一级| 欧美一区二视频| av一区二区三区黑人| 日本欧美一区二区三区乱码| 国产精品免费人成网站| 7777精品伊人久久久大香线蕉的 | 亚洲精品免费播放| 日韩欧美视频一区| 色偷偷一区二区三区| 美女性感视频久久| 亚洲日本中文字幕区| 日韩三级伦理片妻子的秘密按摩| 9色porny自拍视频一区二区| 美女在线视频一区| 一区二区三区四区不卡在线 | 国产成人午夜精品影院观看视频| 亚洲狠狠爱一区二区三区| 国产三级欧美三级日产三级99| 欧美日韩一区二区三区不卡| 麻豆国产一区二区| 国产精品午夜在线观看| 色婷婷久久久亚洲一区二区三区| 久久爱www久久做| 一区二区三区产品免费精品久久75| 精品少妇一区二区| 欧美日韩一二三区| 91免费小视频| 国产精品一区二区在线观看不卡 | 午夜久久久久久久久| 国产精品欧美一区二区三区| 精品国产伦一区二区三区观看体验| 一本色道久久综合狠狠躁的推荐| 国产高清精品久久久久| 久久99国产精品成人| 一区二区三区欧美视频| 国产精品护士白丝一区av| 久久精品亚洲精品国产欧美kt∨ | 日韩欧美的一区| 欧美精品在线一区二区| 欧美无人高清视频在线观看| 91蝌蚪porny九色| youjizz国产精品| 成人午夜电影久久影院| 成人av网址在线| 成人动漫在线一区| 99这里只有精品| av不卡一区二区三区| 91亚洲国产成人精品一区二三 | 国产精品欧美一区二区三区| 久久午夜国产精品| 久久久久久久久久看片| 国产日韩欧美综合在线| 国产精品私房写真福利视频| 国产精品久久久久aaaa| 中文字幕亚洲欧美在线不卡| 中文字幕一区二区三区精华液 | 亚洲国产综合91精品麻豆| 亚洲成国产人片在线观看| 亚洲亚洲精品在线观看| 日本网站在线观看一区二区三区| 石原莉奈在线亚洲二区| 成人福利视频在线看| 91在线porny国产在线看| 在线观看av一区二区| 欧美日韩另类国产亚洲欧美一级| 911国产精品| 久久这里只有精品首页| 国产精品看片你懂得| 亚洲永久免费视频| 美女视频免费一区| 春色校园综合激情亚洲| 一本久久a久久免费精品不卡| 欧美日韩综合色| 欧美精品一区二区不卡| 国产精品美女久久久久久久| 亚洲永久精品国产| 国产在线观看一区二区| 91一区二区在线| 91精品国产一区二区人妖| 久久伊人中文字幕| 亚洲精品国产一区二区精华液 | 一区二区三区免费看视频| 日本最新不卡在线| 成人综合婷婷国产精品久久| 欧美亚洲愉拍一区二区| 日韩欧美国产wwwww| 国产精品国产自产拍高清av王其| 亚洲二区在线视频| 东方欧美亚洲色图在线| 欧美丰满一区二区免费视频| 国产亚洲精品久| 狠狠色狠狠色综合| 一本到三区不卡视频| 精品久久久久久无| 亚洲午夜影视影院在线观看| 国产成人综合亚洲91猫咪| 欧美二区三区91| 成人免费在线视频| 国内精品久久久久影院色| 欧美在线一二三四区| 日本一区二区在线不卡| 美女mm1313爽爽久久久蜜臀| 色综合久久中文综合久久97| wwwwww.欧美系列| 午夜在线成人av| 99re这里都是精品| 久久久久国产一区二区三区四区| 亚洲国产日韩精品| av在线一区二区| 久久久精品免费网站| 美女视频网站久久| 91麻豆精品国产综合久久久久久| 最新热久久免费视频| 国产精品资源站在线| 日韩精品自拍偷拍| 调教+趴+乳夹+国产+精品| 91黄色免费观看| 国产精品美女久久久久久| 高潮精品一区videoshd| 精品噜噜噜噜久久久久久久久试看| 亚洲成人av一区| 91国在线观看| 亚洲精品国产视频| 色狠狠av一区二区三区| 日韩伦理免费电影| a在线欧美一区| 亚洲图片欧美激情| 91视频你懂的| 亚洲欧美国产高清| 一本一道久久a久久精品| 亚洲色欲色欲www| 91福利国产精品| 午夜视频久久久久久| 91精品国产综合久久蜜臀|