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

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

?? html.c

?? firtext搜索引擎源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*									 HTML.c**	SIMPLE HTML PARSER WITHOUT ANY PRESENTATION CODE****	(c) COPYRIGHT MIT 1995.**	Please first read the full copyright statement in the file COPYRIGH.**	@(#) $Id: HTML.c,v 1.81 2000/08/09 10:43:08 kahan Exp $****	This generates of a hypertext object.  It converts from the**	structured stream interface foo HTML events into the style-**	oriented interface of the HText interface.**** HISTORY:**	 8 Jul 94  FM	Insulate free() from _free structure element.*//* Library include files */#include "wwwsys.h"#include "WWWUtil.h"#include "WWWCore.h"#include "WWWHTML.h"#include "HTML.h"#include "HTextImp.h"#define PUTC(t,c)	(*(t)->target->isa->put_character)((t)->target, (c))#define PUTS(t,s)	(*(t)->target->isa->put_string)((t)->target, (s))#define PUTB(s,b,l)	(*(t)->target->isa->put_block)((t)->target, (b), (l))#define FLUSH_TARGET(t)	(*(t)->target->isa->flush)((t)->target)#define FREE_TARGET(t)	(*(t)->target->isa->_free)((t)->target)#define ABORT_TARGET(t)	(*(t)->target->isa->abort)((t)->target, e)#define MAX_NESTING 40struct _HTStream {    const HTStreamClass *	isa;    /* .... */};struct _HTStructured {    const HTStructuredClass * 	isa;    HTRequest *			request;    HTParentAnchor * 		node_anchor;    HTextImp * 			text;    HTStream *			target;    HTChunk * 			title;    BOOL			in_word;    SGML_dtd *			dtd;    char *			comment_start;	/* for literate programming */    char *			comment_end;    BOOL			started;    int				overflow;    int * 			sp;    int	 			stack[MAX_NESTING];};/*** 	Entity values -- for ISO Latin 1 local representation**	This MUST match exactly the table referred to in the DTD!*/static char * ISO_Latin1[HTML_ENTITIES] = {/* 00 */  	"\306",	/* capital AE diphthong (ligature) */   	"\301",	/* capital A, acute accent */   	"\302",	/* capital A, circumflex accent */   	"\300",	/* capital A, grave accent */   	"\305",	/* capital A, ring */   	"\303",	/* capital A, tilde */   	"\304",	/* capital A, dieresis or umlaut mark */   	"\307",	/* capital C, cedilla */   	"\320",	/* capital Eth, Icelandic */   	"\311",	/* capital E, acute accent */ /* 10 */  	"\312",	/* capital E, circumflex accent */   	"\310",	/* capital E, grave accent */   	"\313",	/* capital E, dieresis or umlaut mark */   	"\315",	/* capital I, acute accent */   	"\316",	/* capital I, circumflex accent */   	"\314",	/* capital I, grave accent */   	"\317",	/* capital I, dieresis or umlaut mark */   	"\321",	/* capital N, tilde */   	"\323",	/* capital O, acute accent */   	"\324",	/* capital O, circumflex accent */ /* 20 */  	"\322",	/* capital O, grave accent */   	"\330",	/* capital O, slash */   	"\325",	/* capital O, tilde */   	"\326",	/* capital O, dieresis or umlaut mark */   	"\336",	/* capital THORN, Icelandic */   	"\332",	/* capital U, acute accent */   	"\333",	/* capital U, circumflex accent */   	"\331",	/* capital U, grave accent */   	"\334",	/* capital U, dieresis or umlaut mark */   	"\335",	/* capital Y, acute accent */ /* 30 */  	"\341",	/* small a, acute accent */   	"\342",	/* small a, circumflex accent */   	"\264",	/* acute accent */  	"\346",	/* small ae diphthong (ligature) */   	"\340",	/* small a, grave accent */   	"\046",	/* ampersand */   	"\345",	/* small a, ring */   	"\343",	/* small a, tilde */   	"\344",	/* small a, dieresis or umlaut mark */         "\246",	/* broken vertical bar *//* 40 */  	"\347",	/* small c, cedilla */ 	"\270",	/* cedilla */	"\242", /* cent sign */        "\251",	/* copyright */        "\244",	/* general currency sign */  	"\260",	/* degree sign */  	"\367",	/* division sign */  	"\351",	/* small e, acute accent */   	"\352",	/* small e, circumflex accent */   	"\350",	/* small e, grave accent */ /* 50 */  	"\360",	/* small eth, Icelandic */   	"\353",	/* small e, dieresis or umlaut mark */   	"\275",	/* fraction one-half */  	"\274",	/* fraction one-fourth */  	"\276",	/* fraction three-fourth */  	"\076",	/* greater than */   	"\355",	/* small i, acute accent */   	"\356",	/* small i, circumflex accent */ 	"\241", /* inverted exclamation */  	"\354",	/* small i, grave accent */ /* 60 */  	"\277",	/* inverted question mark */  	"\357",	/* small i, dieresis or umlaut mark */   	"\253",	/* left angle quote */  	"\074",	/* less than */   	"\257",	/* macron accent */  	"\265",	/* micro sign (greek mu) */  	"\267",	/* middle dot */	"\040", /* non-breaking space */  	"\254",	/* not sign */  	"\361",	/* small n, tilde */ /* 70 */  	"\363",	/* small o, acute accent */   	"\364",	/* small o, circumflex accent */   	"\362",	/* small o, grave accent */   	"\252",	/* feminine ordinal */  	"\272",	/* masculine ordinal */  	"\370",	/* small o, slash */   	"\365",	/* small o, tilde */   	"\366",	/* small o, dieresis or umlaut mark */   	"\266",	/* paragraph sign */  	"\261",	/* plus or minus *//* 80 */	"\243", /* pound sign */        "\042", /* double quote sign - June 94 */	"\273",	/* right angle quote */  	"\256",	/* registered trademark */	"\247", /* section sign */  	"\255",	/* soft hyphen */  	"\271",	/* superscript 1 */  	"\262",	/* superscript 2 */  	"\263",	/* superscript 3 */  	"\337",	/* small sharp s, German (sz ligature) */ /* 90 */  	"\376",	/* small thorn, Icelandic */   	"\327",	/* multiply sign */  	"\372",	/* small u, acute accent */   	"\373",	/* small u, circumflex accent */   	"\371",	/* small u, grave accent */         "\250",	/* dieresis or umlaut mark */  	"\374",	/* small u, dieresis or umlaut mark */   	"\375",	/* small y, acute accent */ 	"\245", /* yen sign */  	"\377"	/* small y, dieresis or umlaut mark */ /* 100 */};PRIVATE char ** CurrentEntityValues = ISO_Latin1;PUBLIC BOOL HTMLUseCharacterSet (HTMLCharacterSet i){    if (i == HTML_ISO_LATIN1) {	CurrentEntityValues = ISO_Latin1;	return YES;    } else {	HTTRACE(SGML_TRACE, "HTML Parser. Doesn't support this character set\n");	return NO;    }}PRIVATE int HTML_write (HTStructured * me, const char * b, int l){    if (!me->started) {	HTextImp_build(me->text, HTEXT_BEGIN);	me->started = YES;    }    /* Look at what we got */    switch (me->sp[0]) {    case HTML_TITLE:	HTChunk_putb(me->title, b, l);	/* Fall through */	    default:	HTextImp_addText(me->text, b, l);    }    return HT_OK;}PRIVATE int HTML_put_character (HTStructured * me, char c){    return HTML_write(me, &c, sizeof(char));}PRIVATE int HTML_put_string (HTStructured * me, const char* s){    return HTML_write(me, s, (int) strlen(s));}PRIVATE void HTML_start_element (HTStructured *	me,				 int		element_number,				 const BOOL * 	present,				 const char **	value){    HTChildAnchor * address = NULL;    if (!me->started) {	HTextImp_build(me->text, HTEXT_BEGIN);	me->started = YES;    }    /* Look at what element was started */    switch (element_number) {    case HTML_A:	if (present[HTML_A_HREF] && value[HTML_A_HREF]) {	    address = HTAnchor_findChildAndLink(		me->node_anchor,					/* parent */		present[HTML_A_NAME] ? value[HTML_A_NAME] : NULL,	/* Tag */		value[HTML_A_HREF],					/* Addresss */		present[HTML_A_REL] && value[HTML_A_REL] ? 		(HTLinkType) HTAtom_caseFor(value[HTML_A_REL]) : NULL);	    	    if (present[HTML_A_TITLE] && value[HTML_A_TITLE]) {		HTLink * link = HTAnchor_mainLink((HTAnchor *) address);		HTParentAnchor * dest = HTAnchor_parent(HTLink_destination(link));		if (!HTAnchor_title(dest)) HTAnchor_setTitle(dest, value[HTML_A_TITLE]);	    }	    HTextImp_foundLink(me->text, element_number, HTML_A_HREF,			       address, present, value);	    HTTRACE(SGML_TRACE, "HTML Parser. Anchor `%s\'\n" _ value[HTML_A_HREF]);	}	break;    case HTML_AREA:	if (present[HTML_AREA_HREF] && value[HTML_AREA_HREF]) {	    address = HTAnchor_findChildAndLink(me->node_anchor, NULL,						value[HTML_AREA_HREF], NULL);	    HTextImp_foundLink(me->text, element_number, HTML_AREA_HREF,			       address, present, value);	    HTTRACE(SGML_TRACE, "HTML Parser. Image map area `%s\'\n" _ value[HTML_AREA_HREF]);	}	break;    case HTML_BASE:	if (present[HTML_BASE_HREF] && value[HTML_BASE_HREF]) {	    HTAnchor_setBase(me->node_anchor, (char *) value[HTML_BASE_HREF]);	    HTTRACE(SGML_TRACE, "HTML Parser. New base `%s\'\n" _ value[HTML_BASE_HREF]);	}	break;    case HTML_BODY:	if (present[HTML_BODY_BACKGROUND] && value[HTML_BODY_BACKGROUND]) {	    address = HTAnchor_findChildAndLink(me->node_anchor, NULL,						value[HTML_BODY_BACKGROUND], NULL);	    HTextImp_foundLink(me->text, element_number, HTML_BODY_BACKGROUND,			       address, present, value);	    HTTRACE(SGML_TRACE, "HTML Parser. Background `%s\'\n" _ value[HTML_BODY_BACKGROUND]);	}	break;    case HTML_FORM:	if (present[HTML_FORM_ACTION] && value[HTML_FORM_ACTION]) {	    address = HTAnchor_findChildAndLink(me->node_anchor, NULL,						value[HTML_FORM_ACTION], NULL);	    HTextImp_foundLink(me->text, element_number, HTML_FORM_ACTION,			       address, present, value);	}	break;    case HTML_FRAME:	if (present[HTML_FRAME_SRC] && value[HTML_FRAME_SRC]) {	    address = HTAnchor_findChildAndLink(me->node_anchor, NULL,						value[HTML_FRAME_SRC], NULL);	    HTextImp_foundLink(me->text, element_number, HTML_FRAME_SRC,			       address, present, value);	    HTTRACE(SGML_TRACE, "HTML Parser. Frame `%s\'\n" _ value[HTML_FRAME_SRC]);	}	break;	    case HTML_INPUT:	if (present[HTML_INPUT_SRC] && value[HTML_INPUT_SRC]) {	    address = HTAnchor_findChildAndLink(me->node_anchor, NULL,						value[HTML_INPUT_SRC], NULL);	    HTextImp_foundLink(me->text, element_number, HTML_INPUT_SRC,			       address, present, value);	}	break;    case HTML_IMG:	if (present[HTML_IMG_SRC] && value[HTML_IMG_SRC]) {	    address = HTAnchor_findChildAndLink(me->node_anchor, NULL,						value[HTML_IMG_SRC], NULL);	    HTextImp_foundLink(me->text, element_number, HTML_IMG_SRC,			       address, present, value);	}	break;    case HTML_ISINDEX:   	HTAnchor_setIndex(me->node_anchor);	break;	    case HTML_LINK:	if (present[HTML_LINK_HREF] && value[HTML_LINK_HREF]) {	    HTParentAnchor * dest = NULL;	    address = HTAnchor_findChildAndLink(		me->node_anchor,					/* parent */		present[HTML_A_NAME] ? value[HTML_A_NAME] : NULL,	/* Tag */		present[HTML_A_HREF] ? value[HTML_A_HREF] : NULL,	/* Addresss */		NULL);							/* Rels */	    dest = HTAnchor_parent(HTAnchor_followMainLink((HTAnchor *) address));	    /* If forward reference */	    if ((present[HTML_LINK_REL] && value[HTML_LINK_REL])) {		char * strval = NULL;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频网站黄色亚洲| 欧美美女一区二区在线观看| 欧美一级生活片| 日韩在线卡一卡二| 久久先锋资源网| 日本女人一区二区三区| 欧美在线一区二区三区| 亚洲乱码中文字幕| 99久久777色| 亚洲欧美日韩电影| 色欧美片视频在线观看在线视频| 亚洲图片激情小说| 欧美综合视频在线观看| 欧美一级在线视频| 亚洲免费观看高清完整版在线观看熊| 成人激情校园春色| 亚洲青青青在线视频| 色哟哟国产精品免费观看| 亚洲日本欧美天堂| 欧美日韩一级视频| 精品一区二区成人精品| 中文字幕亚洲欧美在线不卡| 97久久人人超碰| 日本美女一区二区三区视频| 精品免费日韩av| eeuss国产一区二区三区| 一个色在线综合| 日韩美女一区二区三区四区| 国产精品一区二区久久不卡| 亚洲另类在线视频| 26uuu另类欧美| 91啦中文在线观看| 蜜桃一区二区三区四区| 中文字幕中文字幕一区二区| 欧美情侣在线播放| 欧美色图一区二区三区| 国产美女娇喘av呻吟久久| 亚洲精品视频一区| www欧美成人18+| 欧美日韩免费电影| 色综合久久久网| 国产麻豆视频一区二区| 蜜臀久久久久久久| 亚洲另类春色国产| 国产精品视频第一区| 精品国产一区二区精华| 欧美人伦禁忌dvd放荡欲情| 99久久免费视频.com| 国产成人精品一区二区三区四区| 三级一区在线视频先锋| 亚洲日本护士毛茸茸| 国产精品免费av| 国产日韩视频一区二区三区| 中文字幕精品一区| av在线综合网| 久久国产三级精品| 美女视频黄a大片欧美| 亚洲一区二区综合| 亚洲一二三区在线观看| 亚洲无线码一区二区三区| 一区二区三区在线看| 一个色综合av| 日一区二区三区| 美腿丝袜亚洲一区| 国产九色精品成人porny| 成人黄色777网| 99视频一区二区| 欧美亚洲日本一区| 精品乱码亚洲一区二区不卡| 久久蜜臀精品av| 一区二区三区av电影| 日韩av在线免费观看不卡| 韩国精品久久久| 97se亚洲国产综合自在线| 欧美日韩一区 二区 三区 久久精品| 51精品国自产在线| 国产日产欧美一区| 亚洲一二三区在线观看| 久久99久久99精品免视看婷婷| 北条麻妃国产九九精品视频| 欧美日韩国产另类不卡| 国产欧美一区二区精品婷婷| 亚洲图片有声小说| 成人激情黄色小说| 亚洲线精品一区二区三区八戒| 捆绑变态av一区二区三区 | 欧美三级三级三级爽爽爽| 日韩欧美激情在线| 亚洲在线一区二区三区| 国产又粗又猛又爽又黄91精品| 91久久国产最好的精华液| 久久精品视频网| 美女一区二区视频| 欧美挠脚心视频网站| 亚洲综合色丁香婷婷六月图片| 国产成人欧美日韩在线电影| 91精品国产综合久久精品app| 91精品欧美久久久久久动漫 | 制服丝袜中文字幕一区| 成人免费在线视频| 国产精品亚洲视频| 26uuu亚洲| 国产电影精品久久禁18| 久久久午夜精品| 粉嫩aⅴ一区二区三区四区五区| 日韩一区二区三区免费看| 五月天中文字幕一区二区| 91福利国产精品| 日韩高清在线观看| 久久亚洲一区二区三区明星换脸| 日本v片在线高清不卡在线观看| 欧美精品一二三四| 美女免费视频一区二区| 日韩免费成人网| 成人精品一区二区三区中文字幕| 中文久久乱码一区二区| 色综合视频一区二区三区高清| 亚洲色图在线视频| 51久久夜色精品国产麻豆| 国内精品视频一区二区三区八戒| 亚洲尤物视频在线| 精品精品欲导航| 91小视频免费看| 韩国v欧美v亚洲v日本v| 中文字幕日韩一区二区| 在线不卡中文字幕播放| 国产成人精品一区二| 亚洲国产日韩一区二区| 日韩视频一区在线观看| 91小宝寻花一区二区三区| 久久av资源网| 亚洲.国产.中文慕字在线| 国产女人18毛片水真多成人如厕| 色婷婷综合久久| 成人午夜看片网址| 美女网站一区二区| 天堂一区二区在线| 亚洲视频一区二区在线| 26uuu欧美日本| 精品国产99国产精品| 国产女主播在线一区二区| 日韩三级精品电影久久久| 在线欧美日韩国产| 欧美午夜寂寞影院| 亚洲男人天堂av网| 日韩一区二区麻豆国产| 91蜜桃网址入口| bt欧美亚洲午夜电影天堂| 国产在线视频一区二区三区| 午夜电影网一区| 日本视频一区二区| 蜜桃一区二区三区四区| 欧美a一区二区| 久久成人免费网| 精品一区二区三区蜜桃| 蓝色福利精品导航| 国产毛片精品视频| 岛国av在线一区| 91在线视频网址| 欧美人与性动xxxx| 日韩免费高清电影| 亚洲午夜国产一区99re久久| 亚洲一区二区三区自拍| 日韩 欧美一区二区三区| 蜜桃一区二区三区四区| 国产一区二区不卡| 99精品视频一区二区三区| 欧美亚洲综合一区| 久久蜜桃一区二区| 亚洲欧美激情插| 开心九九激情九九欧美日韩精美视频电影| 韩国一区二区在线观看| 不卡一区二区三区四区| 欧美亚洲日本一区| 久久久国产一区二区三区四区小说 | 欧美一级午夜免费电影| 精品粉嫩超白一线天av| 亚洲欧美日韩中文播放| 五月天激情小说综合| 成人免费不卡视频| 777午夜精品视频在线播放| 国产日韩欧美电影| 日韩精品三区四区| 欧美性受极品xxxx喷水| 久久亚洲春色中文字幕久久久| 亚洲与欧洲av电影| 成人免费看黄yyy456| 日韩精品一区二区三区在线观看| 最新中文字幕一区二区三区| 激情图区综合网| 欧美一二三区在线| 青草国产精品久久久久久| 成人免费va视频| 日韩电影一区二区三区四区| 久久97超碰色| 日韩女优av电影在线观看| 日韩精品一级二级| 717成人午夜免费福利电影| 一区二区高清在线| 欧美刺激脚交jootjob|