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

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

?? htbrowse.c

?? www工具包. 這是W3C官方支持的www支撐庫. 其中提供通用目的的客戶端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
?? C
?? 第 1 頁 / 共 5 頁
字號:
{    char * the_choice=NULL;		           /* preserved user command */    char * token=NULL;        	   	    	    /* First word of command */    char * this_command;	       	              /* token and following */    char * next_word;			                      /* Second word */    char * other_words;				/* Second word and following */    BOOL is_index = HTAnchor_isIndex(HTMainAnchor);    BOOL found = YES;    BOOL OutSource = NO;			    /* Output source, YES/NO */    int status = YES;    HTRequest * cur_req = NULL;    Context * cur_context = NULL;    LineMode * lm = NULL;    cur_req = req;    cur_context = (Context *) HTRequest_context(req);    lm = cur_context->lm;    StrAllocCopy (the_choice, choice);		       /* Remember it as is, */    if (*the_choice && the_choice[strlen(the_choice)-1] == '\n') /* final \n */	the_choice[strlen(the_choice)-1] = '\0';        token = strtok (choice, " \t\n\r");	      /* Tokenize user input */    this_command = the_choice;    if (token) {	next_word = strtok (NULL, " \t\n\r");	other_words = the_choice + (next_word - choice);    }    else	goto down;				/* Empty input : scroll down */        /* Process Command */  loop:    switch (TOUPPER(*token)) {      case '0':      case '1':      case '2':      case '3':      case '4':      case '5':      case '6':      case '7':      case '8':      case '9':	{	    int  ref_num;	    sscanf(token,"%d",&ref_num);	    if (ref_num>0 && ref_num<=HText_sourceAnchors(HTMainText)) {		HTChildAnchor *source = HText_childNumber(HTMainText, ref_num);		if (source) {		    HTLink * link = HTAnchor_mainLink((HTAnchor *) source);		    HTAnchor * destination = HTLink_destination(link);		    req = Thread_new(lm, YES, LM_UPDATE);		    		    /* Continous browsing, so we want Referer field */		    HTRequest_setParent(req, HTAnchor_parent((HTAnchor*)source));		    HTLoadAnchor(destination, req);		} else {		    status = NO;				/* No anchor */		}	    } else {		if (SHOW_MSG)		    HTPrint("Warning: Invalid Reference Number: (%d)\n",			    ref_num);	    }	}	break;	      case 'B':			if (CHECK_INPUT("BACK", token)) {	  /* Return to previous node */	    if (HTHistory_canBacktrack(lm->history)) {		req = Thread_new(lm, YES, LM_NO_UPDATE);		status = HTLoadAnchor(HTHistory_back(lm->history), req);	    } else {		OutputData(lm->pView, "\nThis is the first document in history list\n");	    }	} else if (CHECK_INPUT("BOTTOM", token)) {	/* Scroll to bottom  */	    HText_scrollBottom(HTMainText);	} else if (CHECK_INPUT("BYE", token)) {		    /* Quit program? */	    HTNet_killAll();				/* Kill all requests */	    status = NO;	} else	    found = NO;	break;	      case 'C':#ifdef HAVE_CHDIR	if (CHECK_INPUT("CD", token)) {        /* Change working directory ? */	    goto lcd;	} else#endif /* HAVE_CHDIR */	if (CHECK_INPUT("CLEAR", token)) {	       /* Clear History list */	    HTHistory_removeFrom(lm->history, 1);	} else	    found = NO;	break;	      case 'D':	if (CHECK_INPUT("DELETE", token)) {	    		   /* DELETE */	    status = DeleteAnchor(lm, req);	} else if (CHECK_INPUT("DOWN", token)) {    /* Scroll down one page  */	  down:	    if (HText_canScrollDown(HTMainText))		HText_scrollDown(HTMainText);	} else	    found = NO;	break;	      case 'E':	if (CHECK_INPUT("EDIT", token)) {	    status = PutAnchor(lm, req);	} else if (CHECK_INPUT("EXIT", token)) {	    /* Quit program? */	    HTNet_killAll();				/* Kill all requests */	    status = NO;	} else	    found = NO;	break;	      case 'F':						 /* Keyword search ? */	if (is_index && CHECK_INPUT("FIND", token)) {	  find:	    {		if (next_word) {		    req = Thread_new(lm, YES, LM_UPDATE);		    status = HTSearchString(other_words,					    (HTAnchor *) HTMainAnchor, req);		}	    }	} else if (CHECK_INPUT("FLUSH", token)) {	 /* Flush file cache */	    if (confirm(req, "Flush Persistent Cache?") == YES)		HTCache_flushAll();	} else if (CHECK_INPUT("FORWARD", token)) {	    if (HTHistory_canForward(lm->history)) {		req = Thread_new(lm, YES, LM_NO_UPDATE);		status = HTLoadAnchor(HTHistory_forward(lm->history), req);	    } else {		OutputData(lm->pView, "\nThis is the last document in history list.\n");	    }	} else	    found = NO;	break;	      case 'G':	if (CHECK_INPUT("GOTO", token)) {			     /* GOTO */	    if (next_word)	        status = LineMode_load(lm, HTMainAnchor, next_word, NO, &req);	} else	    found = NO;	break;	      case '?':	status = LineMode_load(lm, HTMainAnchor, C_HELP, YES, &req);	break;	      case 'H':	if (CHECK_INPUT("HELP", token)) {		     /* help menu, ..*/	    status = LineMode_load(lm, HTMainAnchor, C_HELP, YES, &req);	} else if (CHECK_INPUT("HOME", token)) {		/* back HOME */	    if (!HTHistory_canBacktrack(lm->history)) {		HText_scrollTop(HTMainText);	    } else {		req = Thread_new(lm, YES, LM_NO_UPDATE);		status = HTLoadAnchor(HTHistory_find(lm->history, 1), req);	    }	} else	    found = NO;	break;	      case 'K':						 /* Keyword search ? */	if (is_index && CHECK_INPUT("KEYWORDS", token)) {	    goto find;	} else	    found = NO;	break;	      case 'L':	if (CHECK_INPUT("LIST", token)) {	     /* List of references ? */	    Reference_List(lm, !OutSource);	}#ifdef HAVE_CHDIR	else if (CHECK_INPUT ("LCD", token)) {	       /* Local change dir ? */	  lcd:	    if (!next_word) {				 /* Missing argument */		OutputData(lm->pView, "\nName of the new local directory missing.\n");	    } else if (chdir (next_word)) {		 /* failed : say why */		OutputData(lm->pView, "\n  ");		perror (next_word);	    } else {		    /* Success : display new local directory */#ifdef HAVE_GETCWD		OutputData(lm->pView, "\nLocal directory is now:\n %s\n",			   getcwd (choice, sizeof(choice)));#else#ifdef HAVE_GETWD		OutputData(lm->pView, "\nLocal directory is now:\n %s\n",			   (char *) getwd (choice));#else#error "This platform doesn't support getwd or getcwd"		if (SHOW_MSG)		    HTPrint("This platform doesn't support getwd or getcwd\n");#endif /* HAVE_GETWD */#endif /* HAVE_GETCWD */	    }	}#endif /* HAVE_CHDIR */	else if (CHECK_INPUT("LUSER", token)) {	     /* List of references ? */	    if (next_word) {	        LoadPICSUser(lm, next_word);	    } else {	        HTPrint("URL needed\n");	    }	} else	    found = NO;	break;	      case 'M':	if (CHECK_INPUT("MANUAL", token)) {		 /* Read User manual */	    status = LineMode_load(lm, HTMainAnchor, MANUAL, YES, &req);	} else	    found = NO;	break;	      case 'O':	if (CHECK_INPUT("OPTIONS", token)) {		   /* OPTIONS method */	    req = Thread_new(lm, YES, LM_NO_UPDATE);	    status = HTOptionsAnchor((HTAnchor*)				     (HTMainAnchor ? HTMainAnchor:lm->anchor),				     req);	} else	    found = NO;	break;	      case 'P':                    	if (CHECK_INPUT("POST", token)) {	    status = PutAnchor(lm, req);	}#ifdef HAVE_SYSTEM	    	else if (!lm->host && CHECK_INPUT("PRINT", token)) {	    char * address = HTAnchor_address((HTAnchor *) HTMainAnchor);	    char * command;	    char * tmplate = (char *) getenv("WWW_PRINT_COMMAND");	    int result;	    	    if (!tmplate) tmplate = "www -n -na -p66 '%s' | lpr";	    if ((command = (char *) HT_MALLOC(strlen(address)+strlen(tmplate)+20)) == NULL)	        HT_OUTOFMEM("command");	    sprintf(command, tmplate, address);	    result = system(command);	    HT_FREE(address);	    HT_FREE(command);	    if (result) OutputData(lm->pView, "  %s\n  returns %d\n", command, result);	}#endif	/* this command prints the entire current text to the	   terminal's printer; at the end it displays the top of the text */#ifdef SLAVE_PRINTER#define SLAVE_PRINTER_ON  "\033\133\065\151"#define SLAVE_PRINTER_OFF "\033\133\064\151"		else if (CHECK_INPUT("PS", token)) {	    OutputData(lm->pView, "%s",SLAVE_PRINTER_ON);	    OutputData(lm->pView, "\f");			   /* Form feed for new page */	    HText_scrollTop(HTMainText);	    while(HText_canScrollDown(HTMainText)) {		HText_scrollDown(HTMainText);	    }	    OutputData(lm->pView, "\f");  			   /* Form feed for new page */	    OutputData(lm->pView, "%s",SLAVE_PRINTER_OFF);	    HText_scrollTop(HTMainText);	}	#endif	else if (CHECK_INPUT("PUT", token)) {	    status = PutAnchor(lm, req);	} else	    found = NO;	break;	      case 'Q':						   /* Quit program ? */	if (CHECK_INPUT("QUIT", token)) {	    /* 	JFG 9/7/92, following a complaint of 'q' mis-typed for '1'.		JFG Then made optional because I hate it !!!		TBL made it only affect remote logged on users. 921122 */	    	    if (lm->host && (strcasecomp(token, "quit") != 0) ) {		OutputData(lm->pView, "\n Please type \"quit\" in full to leave www.\n");	    } else {		HTNet_killAll();			/* Kill all requests */		status = NO;	    }	} else	    found = NO;	break;	      case 'R':		if (CHECK_INPUT("RECALL", token)) {	    if (HTHistory_count(lm->history) <= 1) {		OutputData(lm->pView, "\n  No other documents to recall.\n");	    } else {		/* Previous node number exists, or does the user just */		/* require a list of nodes visited? */		if (next_word) {			    int cnt;		    if ((cnt = atoi(next_word)) > 0) {			req = Thread_new(lm, YES, LM_NO_UPDATE);			status = HTLoadAnchor(HTHistory_find(lm->history,cnt), req);		    } else {			if (SHOW_MSG)			    HTPrint("Bad command (%s), for list of commands type help\n", this_command);		    }		} else {		    History_List(lm);		}	    }	} else if (CHECK_INPUT("REFRESH", token)) {	    HText_setStale(HTMainText);			    /* Force refresh */	    HText_refresh(HTMainText);			   /* Refresh screen */	} else if (CHECK_INPUT("REVALIDATE", token)) {	    req = Thread_new(lm, YES, LM_NO_UPDATE);	    /*	    **  Add a end-to-end validator to the request	    */	    HTRequest_setReloadMode(req, HT_CACHE_END_VALIDATE);	    status = HTLoadAnchor((HTAnchor*) (HTMainAnchor ? HTMainAnchor : 					       lm->anchor), req);	} else if (CHECK_INPUT("RELOAD", token)) {	    req = Thread_new(lm, YES, LM_NO_UPDATE);	    /*	    **  Make sure that we do a complete flush of the cache	    */	    HTRequest_setReloadMode(req, HT_CACHE_FLUSH);	    status = HTLoadAnchor((HTAnchor*) (HTMainAnchor ? HTMainAnchor : 				  lm->anchor), req);	} else	    found = NO;	break;	      case 'S':						       /* TBL 921009 */	if (CHECK_INPUT("SOURCE", token)) {    	  	  /* Apply to source */	    if (next_word) {		OutSource = YES;		 /* Load and print as source */		token = next_word;		         /* Move up one word */		next_word = strtok (NULL, " \t\n\r");		this_command = the_choice + (token - choice);		other_words = the_choice + (next_word - choice);		goto loop;	                       /* Go treat as before */	    }	} else if (CHECK_INPUT("SET", token)) {        	           /* config */	    HTList * rules = HTRule_global();	    HTRule_parseLine(rules, other_words);	} else	    found = NO;	break;	      case 'T':	if (CHECK_INPUT("TOP", token)) {		   /* Return to top  */	    HText_scrollTop(HTMainText);	} else	    found = NO;	break;	      case 'U':	if (CHECK_INPUT("UP", token)) {		      /* Scroll up one page  */	    HText_scrollUp(HTMainText);	} else if (CHECK_INPUT("USER", token)) {	    if (next_word) {			if (!strcasecomp(next_word, "?")) {				ShowPICSUsers(lm);				SetPICSUser(lm, 0);			} else {				SetPICSUser(lm, next_word);			}	    } else {	        SetPICSUser(lm, 0);		}	} else 	    found = NO;	break;	      case 'V':	if (CHECK_INPUT("VALIDATE", token)) {    	   /* Cache validate */	    req = Thread_new(lm, YES, LM_NO_UPDATE);	    /*	    **  Add a validator to the request	    */	    HTRequest_setReloadMode(req, HT_CACHE_VALIDATE);	    status = HTLoadAnchor((HTAnchor*) (HTMainAnchor ? HTMainAnchor : 					       lm->anchor), req);	} else if (CHECK_INPUT("VERBOSE", token)) {  /* Switch verbose mode  */	    WWWTRACE = WWWTRACE ? 0 : lm->trace;	    OutputData(lm->pView, "\n  Verbose mode %s.\n", WWWTRACE ? "ON":"OFF");	} else if (CHECK_INPUT("VERSION", token)) {	 	  /* Version */	    VersionInfo(lm);	} else	    found = NO;	break;      case 'W':	if (CHECK_INPUT("WHICH", token)) {     /* Show title/URL of current page */	    HTView * pView = lm ? lm->pView : NULL;	    char * current_address = HTAnchor_address((HTAnchor *) HTMainAnchor);	    const char * title = HTAnchor_title(HTMainAnchor);	    if (title)		OutputData(pView, "\n\nYou are reading\n\t`%s\'\nwith address\n\t%s\n\n",			   title, current_address);	} else	    found = NO;	break;	      case 'Z':	HText_setStale(HTMainText);			    /* Force refresh */	HText_refresh(HTMainText);			   /* Refresh screen */	HTNet_killAll();				/* Kill all requests */	break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本午夜精品一区二区三区电影| 亚洲精品国产一区二区三区四区在线| 日韩和欧美的一区| 欧美日韩国产高清一区二区三区 | 精品三级在线观看| 久久精品国产精品青草| 欧美tickling挠脚心丨vk| 看电视剧不卡顿的网站| 国产欧美一区二区精品久导航| 国产**成人网毛片九色 | 色综合久久99| 亚洲国产精品久久艾草纯爱| 欧美日韩免费在线视频| 美女视频一区二区| 亚洲国产精品传媒在线观看| 99国产精品久| 日韩一区欧美二区| 精品国产1区二区| av在线综合网| 日本不卡视频一二三区| 26uuu成人网一区二区三区| 成人免费视频caoporn| 亚洲最新在线观看| 精品国产伦一区二区三区观看体验| 国产精品中文字幕日韩精品| 亚洲日本电影在线| 日韩亚洲欧美成人一区| 成人国产在线观看| 天天综合网 天天综合色| 国产色产综合产在线视频| 色综合视频在线观看| 久久精品国产精品亚洲综合| 1000部国产精品成人观看| 欧美裸体bbwbbwbbw| 国产成人免费xxxxxxxx| 亚洲va国产va欧美va观看| 久久精品在线观看| 欧美高清hd18日本| 9久草视频在线视频精品| 美女视频网站黄色亚洲| 一区二区三区在线视频播放| 欧美精品一区视频| 欧美人妖巨大在线| a4yy欧美一区二区三区| 免费成人你懂的| 亚洲自拍偷拍综合| 国产精品毛片无遮挡高清| 91精品啪在线观看国产60岁| 91年精品国产| 国产精品18久久久久久久久久久久| 一区二区三国产精华液| 国产日韩精品一区二区三区 | 蜜桃一区二区三区在线观看| 亚洲欧洲www| 欧美精品一区二区三区蜜桃| 欧美日韩在线不卡| av电影在线观看完整版一区二区| 久久精品国产精品亚洲红杏| 亚洲成人精品一区二区| 亚洲日本在线看| 亚洲国产成人在线| 国产亚洲一本大道中文在线| 日韩免费成人网| 欧美福利视频导航| 精品视频资源站| 欧美影片第一页| 一本久久a久久精品亚洲| 波多野结衣精品在线| 国产精品白丝av| 国产一区二区福利视频| 蜜臀国产一区二区三区在线播放| 亚洲综合色网站| 一区二区三区 在线观看视频| 自拍偷在线精品自拍偷无码专区| 欧美激情在线看| 欧美国产综合一区二区| 国产女主播一区| 国产精品毛片大码女人| 欧美国产精品一区二区三区| 国产日本亚洲高清| 久久久久久久久蜜桃| 久久这里只有精品首页| 久久一日本道色综合| 久久精品这里都是精品| 欧美国产一区二区| 国产精品成人一区二区艾草| 亚洲视频香蕉人妖| 亚洲精品中文在线| 婷婷开心久久网| 日本aⅴ免费视频一区二区三区| 日本v片在线高清不卡在线观看| 五月激情综合色| 毛片av中文字幕一区二区| 国产主播一区二区三区| 高清beeg欧美| 色偷偷成人一区二区三区91 | 成人h动漫精品一区二区| 成人动漫av在线| 色94色欧美sute亚洲线路一久| 欧美图片一区二区三区| 欧美一三区三区四区免费在线看| 欧美一区二区大片| 欧美国产精品专区| 亚洲欧美日本韩国| 免费成人在线视频观看| 国产福利91精品| 日本久久一区二区三区| 欧美高清一级片在线| 久久久九九九九| 亚洲天堂网中文字| 日韩国产在线一| 韩国欧美一区二区| 91美女在线观看| 欧美一区二区视频观看视频| 欧美韩日一区二区三区四区| 亚洲综合在线电影| 国产一区二区三区免费观看| 91香蕉视频黄| 欧美成人a∨高清免费观看| 中文子幕无线码一区tr| 亚洲一区欧美一区| 久久爱www久久做| 91丨porny丨户外露出| 日韩免费视频一区二区| 亚洲人成网站色在线观看| 免费视频一区二区| 色婷婷狠狠综合| 国产亚洲欧洲997久久综合| 亚洲一区二区视频| 国产成人av一区二区三区在线| 欧美视频一区二区在线观看| 欧美国产视频在线| 奇米影视在线99精品| 91蝌蚪porny| 精品久久久久99| 亚洲成人tv网| 成人aaaa免费全部观看| 日韩欧美成人一区二区| 亚洲欧美成aⅴ人在线观看| 精品一区二区三区视频在线观看 | 亚洲一区国产视频| 成人做爰69片免费看网站| 欧美日韩国产片| 亚洲丝袜制服诱惑| 激情偷乱视频一区二区三区| 欧美日韩成人一区| 一区二区在线观看免费视频播放 | 成人黄色综合网站| 精品三级在线观看| 日韩国产欧美在线观看| 91热门视频在线观看| 日本一区二区免费在线| 激情综合色综合久久| 51精品视频一区二区三区| 亚洲免费观看高清完整版在线观看 | 日韩一区在线看| 国产成人一区二区精品非洲| 91精品啪在线观看国产60岁| 亚洲国产一区二区三区青草影视| 99久久精品国产麻豆演员表| 国产日产欧美一区| 国产剧情一区二区| 久久久综合九色合综国产精品| 免费看精品久久片| 日韩网站在线看片你懂的| 肉丝袜脚交视频一区二区| 色婷婷国产精品久久包臀 | 在线精品视频一区二区| 中文字幕一区二区三区不卡| 成人av第一页| 国产精品久久国产精麻豆99网站| 粉嫩高潮美女一区二区三区| 欧美国产综合一区二区| 成人美女在线观看| 国产精品毛片久久久久久久| va亚洲va日韩不卡在线观看| 国产精品乱码久久久久久| 国产91精品欧美| 国产精品毛片久久久久久久| 99久久久国产精品免费蜜臀| 亚洲乱码日产精品bd| 欧美日韩精品福利| 美女一区二区视频| 久久久精品中文字幕麻豆发布| 国产精品 日产精品 欧美精品| 国产日韩精品一区二区三区在线| 成人在线一区二区三区| 国产精品久久久久婷婷| 色av成人天堂桃色av| 五月婷婷激情综合网| 日韩女优制服丝袜电影| 国产麻豆精品久久一二三| 国产精品久久久久一区| 91行情网站电视在线观看高清版| 亚洲一区影音先锋| 日韩你懂的在线播放| 成人午夜视频福利| 亚洲伊人色欲综合网| 久久夜色精品一区| 91网站在线播放|