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

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

?? 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';
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合在线观看视频| 精品一区二区久久| 久久精品国产亚洲aⅴ| 成人一区在线看| 欧美少妇xxx| 国产精品国产自产拍高清av王其| 亚洲国产aⅴ天堂久久| 国产91综合一区在线观看| 欧美日韩国产综合草草| 中文字幕欧美日韩一区| 精品伊人久久久久7777人| 精品视频在线免费看| 国产精品国产自产拍在线| 九色综合狠狠综合久久| 制服丝袜成人动漫| 一区二区三区成人| av男人天堂一区| 中文字幕欧美区| 国产美女视频一区| 欧美电视剧在线看免费| 天堂一区二区在线| 欧美亚洲综合网| 亚洲精品国产成人久久av盗摄| 国产乱国产乱300精品| 日韩欧美国产三级电影视频| 一区二区免费看| 日本精品一级二级| 亚洲欧美日韩在线播放| 成人免费毛片aaaaa**| 久久精品一区蜜桃臀影院| 久久91精品久久久久久秒播| 日韩免费在线观看| 老鸭窝一区二区久久精品| 在线播放一区二区三区| 丝瓜av网站精品一区二区 | 亚洲免费视频中文字幕| 欧美福利电影网| 精品国产精品一区二区夜夜嗨 | 亚洲精品在线免费观看视频| 日韩**一区毛片| 欧美精品电影在线播放| 美女脱光内衣内裤视频久久影院| 欧美日本韩国一区二区三区视频 | 麻豆专区一区二区三区四区五区| 日韩一区二区三区免费观看| 九九视频精品免费| 久久精品亚洲麻豆av一区二区| 国产精品18久久久久久久久久久久| 久久久亚洲欧洲日产国码αv| 懂色av中文一区二区三区| 中文字幕亚洲不卡| 欧洲av一区二区嗯嗯嗯啊| 香港成人在线视频| 日韩三级高清在线| 国产精品2024| 成人欧美一区二区三区1314| 在线国产亚洲欧美| 亚洲h动漫在线| www成人在线观看| 99re热这里只有精品视频| 亚洲一区二区三区四区五区中文| 555www色欧美视频| 国产激情精品久久久第一区二区| 亚洲欧洲精品天堂一级| 欧美日韩在线播放三区| 精品一区精品二区高清| 中日韩免费视频中文字幕| 在线视频综合导航| 久久成人综合网| 亚洲欧美一区二区在线观看| 欧美高清视频一二三区| 国产成人精品免费在线| 艳妇臀荡乳欲伦亚洲一区| 欧美一级一级性生活免费录像| 粉嫩av一区二区三区粉嫩| 亚洲成国产人片在线观看| 久久尤物电影视频在线观看| 在线欧美日韩国产| 国产福利91精品一区| 婷婷开心激情综合| 国产精品网站在线| 日韩欧美资源站| 在线看日本不卡| 国产999精品久久久久久绿帽| 亚洲成人免费影院| 国产精品天美传媒沈樵| 日韩精品一区二区三区中文精品| 一本久久综合亚洲鲁鲁五月天| 久久国产精品免费| 午夜欧美大尺度福利影院在线看| 国产亚洲欧美日韩日本| 欧美卡1卡2卡| 91色视频在线| 成人永久免费视频| 国产一区二区网址| 免费精品99久久国产综合精品| 亚洲欧美电影一区二区| 中文字幕欧美日本乱码一线二线| 日韩免费电影网站| 欧美高清视频不卡网| 欧美综合亚洲图片综合区| 成人国产精品视频| 国产大片一区二区| 国产精品一区二区男女羞羞无遮挡 | 精品视频999| 国产日韩精品久久久| 国产高清精品久久久久| 麻豆91在线播放免费| 亚洲成人黄色小说| 亚洲aaa精品| 亚洲高清中文字幕| 亚洲已满18点击进入久久| 一区二区在线免费观看| 亚洲免费在线观看视频| 亚洲视频每日更新| 一区二区三区小说| 一区二区三区四区中文字幕| 亚洲免费资源在线播放| 亚洲女同ⅹxx女同tv| 亚洲欧美日韩在线| 亚洲综合色区另类av| 一区二区三区高清不卡| 亚洲午夜久久久久久久久电影院 | 色婷婷狠狠综合| 日本韩国精品在线| 欧美性一二三区| 欧美视频一区二区三区| 欧美肥大bbwbbw高潮| 日韩一区二区三区电影| 久久你懂得1024| 亚洲欧美在线视频| 亚洲国产精品久久艾草纯爱| 日韩国产欧美在线视频| 激情另类小说区图片区视频区| 国产精品资源站在线| www.亚洲激情.com| 欧美日韩在线不卡| 日韩欧美aaaaaa| 国产精品不卡一区二区三区| 亚洲一区二区精品3399| 日本大胆欧美人术艺术动态 | 久久婷婷成人综合色| 久久久影视传媒| 亚洲男女一区二区三区| 欧美aⅴ一区二区三区视频| 国模少妇一区二区三区| 成人av资源站| 51久久夜色精品国产麻豆| 日本一区二区在线不卡| 一区二区国产视频| 黄一区二区三区| 色诱视频网站一区| 精品久久久久av影院| 亚洲男人天堂av网| 久久99久久精品| 在线免费视频一区二区| 久久久三级国产网站| 亚洲午夜私人影院| 大白屁股一区二区视频| 欧美区在线观看| 中文字幕在线观看不卡视频| 青青草国产精品亚洲专区无| av色综合久久天堂av综合| 日韩视频在线你懂得| 亚洲日本韩国一区| 精品亚洲国产成人av制服丝袜| 亚洲摸摸操操av| 亚洲欧美色综合| 国产91综合一区在线观看| 欧美精品自拍偷拍| 1024成人网| 国产99久久久国产精品潘金| 日韩一区二区在线观看| 亚洲一区二区三区中文字幕 | 亚洲国产精品成人久久综合一区| 天天色图综合网| 99精品黄色片免费大全| 26uuu国产电影一区二区| 五月天激情综合| 91国偷自产一区二区开放时间| 日本一区二区视频在线观看| 免费成人深夜小野草| 欧美老年两性高潮| 亚洲精品成人精品456| 国产成人高清视频| 久久一二三国产| 精品一二三四区| 欧美一区二区免费观在线| 亚洲国产综合视频在线观看| 91原创在线视频| 欧美国产精品中文字幕| 国产乱码精品一区二区三区忘忧草 | 色综合久久综合中文综合网| 国产性色一区二区| 国产精品88av| 中文字幕av在线一区二区三区| 精品一区二区三区影院在线午夜 | 91成人免费电影| 亚洲裸体xxx| 色综合中文综合网|