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

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

?? tclcmdil.c

?? tcl源碼詳細(xì)資料
?? C
?? 第 1 頁 / 共 2 頁
字號:
#ifndef EXCLUDE_TCL/*  * tclCmdIL.c -- * *	This file contains the top-level command routines for most of *	the Tcl built-in commands whose names begin with the letters *	I through L.  It contains only commands in the generic core *	(i.e. those that don't depend much upon UNIX facilities). * * Copyright 1987-1991 Regents of the University of California * Permission to use, copy, modify, and distribute this * software and its documentation for any purpose and without * fee is hereby granted, provided that the above copyright * notice appear in all copies.  The University of California * makes no representations about the suitability of this * software for any purpose.  It is provided "as is" without * express or implied warranty. */#include "tclInt.h"/* * Forward declarations for procedures defined in this file: */static int		SortCompareProc _ANSI_ARGS_((CONST VOID *first,			    CONST VOID *second));/* *---------------------------------------------------------------------- * * Tcl_IfCmd -- * *	This procedure is invoked to process the "if" Tcl command. *	See the user documentation for details on what it does. * * Results: *	A standard Tcl result. * * Side effects: *	See the user documentation. * *---------------------------------------------------------------------- */	/* ARGSUSED */intTcl_IfCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    int i, result, value;    i = 1;    while (1) {	/*	 * At this point in the loop, argv and argc refer to an expression	 * to test, either for the main expression or an expression	 * following an "elseif".  The arguments after the expression must	 * be "then" (optional) and a script to execute if the expression is	 * true.	 */	if (i >= argc) {	    Tcl_AppendResult(interp, "wrong # args: no expression after \"",		    argv[i-1], "\" argument", (char *) NULL);	    return TCL_ERROR;	}	result = Tcl_ExprBoolean(interp, argv[i], &value);	if (result != TCL_OK) {	    return result;	}	i++;	if ((i < argc) && (strcmp(argv[i], "then") == 0)) {	    i++;	}	if (i >= argc) {	    Tcl_AppendResult(interp, "wrong # args: no script following \"",		    argv[i-1], "\" argument", (char *) NULL);	    return TCL_ERROR;	}	if (value) {	    return Tcl_Eval(interp, argv[i], 0, (char **) NULL);	}	/*	 * The expression evaluated to false.  Skip the command, then	 * see if there is an "else" or "elseif" clause.	 */	i++;	if (i >= argc) {	    return TCL_OK;	}	if ((argv[i][0] == 'e') && (strcmp(argv[i], "elseif") == 0)) {	    i++;	    continue;	}	break;    }    /*     * Couldn't find a "then" or "elseif" clause to execute.  Check now     * for an "else" clause.  We know that there's at least one more     * argument when we get here.     */    if (strcmp(argv[i], "else") == 0) {	i++;	if (i >= argc) {	    Tcl_AppendResult(interp,		    "wrong # args: no script following \"else\" argument",		    (char *) NULL);	    return TCL_ERROR;	}    }    return Tcl_Eval(interp, argv[i], 0, (char **) NULL);}/* *---------------------------------------------------------------------- * * Tcl_IncrCmd -- * *	This procedure is invoked to process the "incr" Tcl command. *	See the user documentation for details on what it does. * * Results: *	A standard Tcl result. * * Side effects: *	See the user documentation. * *---------------------------------------------------------------------- */    /* ARGSUSED */intTcl_IncrCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    long value;    char *oldString, *result;    char newString[30];    if ((argc != 2) && (argc != 3)) {	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		" varName ?increment?\"", (char *) NULL);	return TCL_ERROR;    }    oldString = Tcl_GetVar(interp, argv[1], TCL_LEAVE_ERR_MSG);    if (oldString == NULL) {	return TCL_ERROR;    }    if (Tcl_GetInt(interp, oldString, &value) != TCL_OK) {	Tcl_AddErrorInfo(interp,		"\n    (reading value of variable to increment)");	return TCL_ERROR;    }    if (argc == 2) {	value += 1;    } else {	long increment;	if (Tcl_GetInt(interp, argv[2], &increment) != TCL_OK) {	    Tcl_AddErrorInfo(interp,		    "\n    (reading increment)");	    return TCL_ERROR;	}	value += increment;    }    sprintf(newString, "%ld", value);    result = Tcl_SetVar(interp, argv[1], newString, TCL_LEAVE_ERR_MSG);    if (result == NULL) {	return TCL_ERROR;    }    interp->result = result;    return TCL_OK; }/* *---------------------------------------------------------------------- * * Tcl_InfoCmd -- * *	This procedure is invoked to process the "info" Tcl command. *	See the user documentation for details on what it does. * * Results: *	A standard Tcl result. * * Side effects: *	See the user documentation. * *---------------------------------------------------------------------- */	/* ARGSUSED */intTcl_InfoCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    register Interp *iPtr = (Interp *) interp;    int length;    char c;    Arg *argPtr;    Proc *procPtr;    Var *varPtr;    Command *cmdPtr;    Tcl_HashEntry *hPtr;    Tcl_HashSearch search;    if (argc < 2) {	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		" option ?arg arg ...?\"", (char *) NULL);	return TCL_ERROR;    }    c = argv[1][0];    length = strlen(argv[1]);    if ((c == 'a') && (strncmp(argv[1], "args", length)) == 0) {	if (argc != 3) {	    Tcl_AppendResult(interp, "wrong # args: should be \"",		    argv[0], " args procname\"", (char *) NULL);	    return TCL_ERROR;	}	procPtr = TclFindProc(iPtr, argv[2]);	if (procPtr == NULL) {	    infoNoSuchProc:	    Tcl_AppendResult(interp, "\"", argv[2],		    "\" isn't a procedure", (char *) NULL);	    return TCL_ERROR;	}	for (argPtr = procPtr->argPtr; argPtr != NULL;		argPtr = argPtr->nextPtr) {	    Tcl_AppendElement(interp, argPtr->name, 0);	}	return TCL_OK;    } else if ((c == 'b') && (strncmp(argv[1], "body", length)) == 0) {	if (argc != 3) {	    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		    " body procname\"", (char *) NULL);	    return TCL_ERROR;	}	procPtr = TclFindProc(iPtr, argv[2]);	if (procPtr == NULL) {	    goto infoNoSuchProc;	}	iPtr->result = procPtr->command;	return TCL_OK;    } else if ((c == 'c') && (strncmp(argv[1], "cmdcount", length) == 0)	    && (length >= 2)) {	if (argc != 2) {	    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		    " cmdcount\"", (char *) NULL);	    return TCL_ERROR;	}	sprintf(iPtr->result, "%d", iPtr->cmdCount);	return TCL_OK;    } else if ((c == 'c') && (strncmp(argv[1], "commands", length) == 0)	    && (length >= 4)) {	if (argc > 3) {	    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		    " commands [pattern]\"", (char *) NULL);	    return TCL_ERROR;	}	for (hPtr = Tcl_FirstHashEntry(&iPtr->commandTable, &search);		hPtr != NULL; hPtr = Tcl_NextHashEntry(&search)) {	    char *name = Tcl_GetHashKey(&iPtr->commandTable, hPtr);	    if ((argc == 3) && !Tcl_StringMatch(name, argv[2])) {		continue;	    }	    Tcl_AppendElement(interp, name, 0);	}	return TCL_OK;    } else if ((c == 'c') && (strncmp(argv[1], "complete", length) == 0)	    && (length >= 4)) {	if (argc != 3) {	    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		    " complete command\"", (char *) NULL);	    return TCL_ERROR;	}	if (Tcl_CommandComplete(argv[2])) {	    interp->result = "1";	} else {	    interp->result = "0";	}	return TCL_OK;    } else if ((c == 'd') && (strncmp(argv[1], "default", length)) == 0) {	if (argc != 5) {	    Tcl_AppendResult(interp, "wrong # args: should be \"",		    argv[0], " default procname arg varname\"",		    (char *) NULL);	    return TCL_ERROR;	}	procPtr = TclFindProc(iPtr, argv[2]);	if (procPtr == NULL) {	    goto infoNoSuchProc;	}	for (argPtr = procPtr->argPtr; ; argPtr = argPtr->nextPtr) {	    if (argPtr == NULL) {		Tcl_AppendResult(interp, "procedure \"", argv[2],			"\" doesn't have an argument \"", argv[3],			"\"", (char *) NULL);		return TCL_ERROR;	    }	    if (strcmp(argv[3], argPtr->name) == 0) {		if (argPtr->defValue != NULL) {		    if (Tcl_SetVar((Tcl_Interp *) iPtr, argv[4],			    argPtr->defValue, 0) == NULL) {			defStoreError:			Tcl_AppendResult(interp,				"couldn't store default value in variable \"",				argv[4], "\"", (char *) NULL);			return TCL_ERROR;		    }		    iPtr->result = "1";		} else {		    if (Tcl_SetVar((Tcl_Interp *) iPtr, argv[4], "", 0)			    == NULL) {			goto defStoreError;		    }		    iPtr->result = "0";		}		return TCL_OK;	    }	}    } else if ((c == 'e') && (strncmp(argv[1], "exists", length) == 0)) {	char *p;	if (argc != 3) {	    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		    " exists varName\"", (char *) NULL);	    return TCL_ERROR;	}	p = Tcl_GetVar((Tcl_Interp *) iPtr, argv[2], 0);	/*	 * The code below handles the special case where the name is for	 * an array:  Tcl_GetVar will reject this since you can't read	 * an array variable without an index.	 */	if (p == NULL) {	    Tcl_HashEntry *hPtr;	    Var *varPtr;	    if (strchr(argv[2], '(') != NULL) {		noVar:		iPtr->result = "0";		return TCL_OK;	    }	    if (iPtr->varFramePtr == NULL) {		hPtr = Tcl_FindHashEntry(&iPtr->globalTable, argv[2]);	    } else {		hPtr = Tcl_FindHashEntry(&iPtr->varFramePtr->varTable, argv[2]);	    }	    if (hPtr == NULL) {		goto noVar;	    }	    varPtr = (Var *) Tcl_GetHashValue(hPtr);	    if (varPtr->flags & VAR_UPVAR) {		varPtr = (Var *) Tcl_GetHashValue(varPtr->value.upvarPtr);	    }	    if (!(varPtr->flags & VAR_ARRAY)) {		goto noVar;	    }	}	iPtr->result = "1";	return TCL_OK;    } else if ((c == 'g') && (strncmp(argv[1], "globals", length) == 0)) {	char *name;	if (argc > 3) {	    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		    " globals [pattern]\"", (char *) NULL);	    return TCL_ERROR;	}	for (hPtr = Tcl_FirstHashEntry(&iPtr->globalTable, &search);		hPtr != NULL; hPtr = Tcl_NextHashEntry(&search)) {	    varPtr = (Var *) Tcl_GetHashValue(hPtr);	    if (varPtr->flags & VAR_UNDEFINED) {		continue;	    }	    name = Tcl_GetHashKey(&iPtr->globalTable, hPtr);	    if ((argc == 3) && !Tcl_StringMatch(name, argv[2])) {		continue;	    }	    Tcl_AppendElement(interp, name, 0);	}	return TCL_OK;    } else if ((c == 'l') && (strncmp(argv[1], "level", length) == 0)	    && (length >= 2)) {	if (argc == 2) {	    if (iPtr->varFramePtr == NULL) {		iPtr->result = "0";	    } else {		sprintf(iPtr->result, "%d", iPtr->varFramePtr->level);	    }	    return TCL_OK;	} else if (argc == 3) {	    long level;	    CallFrame *framePtr;	    if (Tcl_GetInt(interp, argv[2], &level) != TCL_OK) {		return TCL_ERROR;	    }	    if (level <= 0) {		if (iPtr->varFramePtr == NULL) {		    levelError:		    Tcl_AppendResult(interp, "bad level \"", argv[2],			    "\"", (char *) NULL);		    return TCL_ERROR;		}		level += iPtr->varFramePtr->level;	    }	    for (framePtr = iPtr->varFramePtr; framePtr != NULL;		    framePtr = framePtr->callerVarPtr) {		if (framePtr->level == level) {		    break;		}	    }	    if (framePtr == NULL) {		goto levelError;	    }	    iPtr->result = Tcl_Merge(framePtr->argc, framePtr->argv);	    iPtr->freeProc = (Tcl_FreeProc *) free;	    return TCL_OK;	}	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		" level [number]\"", (char *) NULL);	return TCL_ERROR;    } else if ((c == 'l') && (strncmp(argv[1], "library", length) == 0)	    && (length >= 2)) {	if (argc != 2) {	    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		    " library\"", (char *) NULL);	    return TCL_ERROR;	}	interp->result = getenv("TCL_LIBRARY");	if (interp->result == NULL) {#ifdef TCL_LIBRARY	    interp->result = TCL_LIBRARY;#else	    interp->result = "there is no Tcl library at this installation";	    return TCL_ERROR;#endif	}	return TCL_OK;    } else if ((c == 'l') && (strncmp(argv[1], "locals", length) == 0)	    && (length >= 2)) {	char *name;	if (argc > 3) {	    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		    " locals [pattern]\"", (char *) NULL);	    return TCL_ERROR;	}	if (iPtr->varFramePtr == NULL) {	    return TCL_OK;	}	for (hPtr = Tcl_FirstHashEntry(&iPtr->varFramePtr->varTable, &search);		hPtr != NULL; hPtr = Tcl_NextHashEntry(&search)) {	    varPtr = (Var *) Tcl_GetHashValue(hPtr);	    if (varPtr->flags & (VAR_UNDEFINED|VAR_UPVAR)) {		continue;	    }	    name = Tcl_GetHashKey(&iPtr->varFramePtr->varTable, hPtr);	    if ((argc == 3) && !Tcl_StringMatch(name, argv[2])) {		continue;	    }	    Tcl_AppendElement(interp, name, 0);	}	return TCL_OK;    } else if ((c == 'p') && (strncmp(argv[1], "procs", length)) == 0) {	if (argc > 3) {	    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		    " procs [pattern]\"", (char *) NULL);	    return TCL_ERROR;	}	for (hPtr = Tcl_FirstHashEntry(&iPtr->commandTable, &search);		hPtr != NULL; hPtr = Tcl_NextHashEntry(&search)) {	    char *name = Tcl_GetHashKey(&iPtr->commandTable, hPtr);	    cmdPtr = (Command *) Tcl_GetHashValue(hPtr);	    if (!TclIsProc(cmdPtr)) {		continue;	    }	    if ((argc == 3) && !Tcl_StringMatch(name, argv[2])) {		continue;	    }	    Tcl_AppendElement(interp, name, 0);	}	return TCL_OK;    } else if ((c == 's') && (strncmp(argv[1], "script", length) == 0)) {	if (argc != 2) {	    Tcl_AppendResult(interp, "wrong # args: should be \"",		    argv[0], " script\"", (char *) NULL);	    return TCL_ERROR;	}	if (iPtr->scriptFile != NULL) {	    interp->result = iPtr->scriptFile;	}	return TCL_OK;    } else if ((c == 't') && (strncmp(argv[1], "tclversion", length) == 0)) {	if (argc != 2) {	    Tcl_AppendResult(interp, "wrong # args: should be \"",		    argv[0], " tclversion\"", (char *) NULL);	    return TCL_ERROR;	}	/*	 * Note:  TCL_VERSION below is expected to be set with a "-D"	 * switch in the Makefile.	 */	strcpy(iPtr->result, TCL_VERSION);	return TCL_OK;    } else if ((c == 'v') && (strncmp(argv[1], "vars", length)) == 0) {	Tcl_HashTable *tablePtr;	char *name;	if (argc > 3) {	    Tcl_AppendResult(interp, "wrong # args: should be \"",		    argv[0], " vars [pattern]\"", (char *) NULL);	    return TCL_ERROR;	}	if (iPtr->varFramePtr == NULL) {	    tablePtr = &iPtr->globalTable;	} else {	    tablePtr = &iPtr->varFramePtr->varTable;	}	for (hPtr = Tcl_FirstHashEntry(tablePtr, &search);		hPtr != NULL; hPtr = Tcl_NextHashEntry(&search)) {	    varPtr = (Var *) Tcl_GetHashValue(hPtr);	    if (varPtr->flags & VAR_UNDEFINED) {		continue;	    }	    name = Tcl_GetHashKey(tablePtr, hPtr);	    if ((argc == 3) && !Tcl_StringMatch(name, argv[2])) {		continue;	    }	    Tcl_AppendElement(interp, name, 0);	}	return TCL_OK;    } else {	Tcl_AppendResult(interp, "bad option \"", argv[1],		"\": should be args, body, cmdcount, commands, ",		"complete, default, ",		"exists, globals, level, library, locals, procs, ",		"script, tclversion, or vars",		(char *) NULL);	return TCL_ERROR;    }}/* *---------------------------------------------------------------------- * * Tcl_JoinCmd -- * *	This procedure is invoked to process the "join" Tcl command. *	See the user documentation for details on what it does. * * Results: *	A standard Tcl result. * * Side effects: *	See the user documentation. * *---------------------------------------------------------------------- */	/* ARGSUSED */intTcl_JoinCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一卡二卡| 在线亚洲一区二区| 亚洲一区视频在线观看视频| 日韩欧美中文一区| 色狠狠色狠狠综合| 国产99精品视频| 久久精品理论片| 一区二区三区在线视频播放| 精品国产三级a在线观看| 久久日一线二线三线suv| 91精彩视频在线观看| 国产剧情在线观看一区二区| 日韩av电影免费观看高清完整版在线观看 | 久久久久九九视频| 91精选在线观看| 欧美日精品一区视频| 色综合天天综合网天天看片| 国产91对白在线观看九色| 麻豆精品一区二区三区| 日韩不卡在线观看日韩不卡视频| 亚洲激情校园春色| 国产精品久久久久久久久久久免费看| 精品国产乱码久久久久久牛牛 | 免费在线观看视频一区| 亚洲夂夂婷婷色拍ww47 | 久久久综合激的五月天| 欧美一区二区播放| 欧美欧美午夜aⅴ在线观看| 国产电影一区二区三区| 国产精品影视天天线| 久久精品噜噜噜成人av农村| 丝袜美腿亚洲一区二区图片| 亚洲摸摸操操av| 1000精品久久久久久久久| 国产精品久久久久久久久图文区| 日韩免费电影网站| 日韩一区二区三免费高清| 91精品国产综合久久久久久漫画 | 欧美人与性动xxxx| 欧美日韩性生活| 欧美日韩在线免费视频| 欧美午夜影院一区| 欧美日韩在线精品一区二区三区激情| 在线观看免费一区| 在线亚洲精品福利网址导航| 在线观看av一区二区| 日本精品裸体写真集在线观看| 91蜜桃婷婷狠狠久久综合9色| 99久久久无码国产精品| 99久久久免费精品国产一区二区| av电影一区二区| 99久久免费精品高清特色大片| 91天堂素人约啪| 91久久一区二区| 欧美亚洲国产一区二区三区| 欧美性色黄大片手机版| 在线成人av网站| 欧美一级夜夜爽| 久久伊人蜜桃av一区二区| 日韩欧美国产一区二区三区| 精品99999| 中文字幕av资源一区| 亚洲精品一二三四区| 一二三四社区欧美黄| 爽好多水快深点欧美视频| 美女精品一区二区| 精品视频在线看| 欧美一区二区在线观看| 久久亚洲精品小早川怜子| 欧美国产精品劲爆| 一区二区在线观看视频在线观看| 天天爽夜夜爽夜夜爽精品视频 | 成人爽a毛片一区二区免费| 不卡视频在线观看| 在线视频国内一区二区| 欧美电影精品一区二区 | 五月天一区二区三区| 日韩主播视频在线| 美女在线一区二区| 成人黄色软件下载| 欧美日韩成人综合天天影院| 精品国产乱码久久久久久闺蜜| 欧美激情资源网| 亚洲成人av中文| 风流少妇一区二区| 91福利在线看| 日韩三级免费观看| 国产精品日日摸夜夜摸av| 亚洲成a人片综合在线| 国产丶欧美丶日本不卡视频| 欧美三级一区二区| 久久精品亚洲一区二区三区浴池| 亚洲欧美色图小说| 精品中文字幕一区二区| 91成人在线精品| 久久一区二区三区四区| 中文字幕精品综合| 中文字幕日韩一区| 国产一区在线观看麻豆| 成人av在线网站| 欧美一区二区三区啪啪| 久久精品视频网| 亚洲综合成人在线视频| 国产成人夜色高潮福利影视| 欧美日韩中文精品| 久久久久久亚洲综合影院红桃 | 国产精品久久久久久久久免费丝袜| 日日嗨av一区二区三区四区| 韩国女主播一区二区三区| 色香蕉成人二区免费| 久久这里都是精品| 蜜臀av一级做a爰片久久| 在线观看三级视频欧美| 人人精品人人爱| 一本一道波多野结衣一区二区| 精品国产自在久精品国产| 亚洲在线视频网站| 国产美女在线观看一区| 欧美一二三四在线| 亚洲一二三四在线| 色综合欧美在线| 国产精品毛片久久久久久| 国产一区在线视频| 日韩欧美国产综合在线一区二区三区 | 欧美色精品天天在线观看视频| 中文字幕一区二区在线播放 | av激情综合网| 国产午夜精品久久久久久久| 久久疯狂做爰流白浆xx| 欧美一区二区性放荡片| 天天综合天天综合色| 欧美日韩国产大片| 亚洲国产精品自拍| 欧美吻胸吃奶大尺度电影| 一区二区三区中文字幕精品精品| 国产91富婆露脸刺激对白| 日本一区二区三级电影在线观看 | 欧美xingq一区二区| 日韩精品色哟哟| 91麻豆精品国产综合久久久久久| 香蕉av福利精品导航| 在线电影欧美成精品| 亚洲成a人片在线观看中文| 欧美日韩精品久久久| 天涯成人国产亚洲精品一区av| 欧美精品丝袜中出| 日产欧产美韩系列久久99| 日韩一区二区中文字幕| 久久精品久久99精品久久| 亚洲精品一线二线三线无人区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久精品72免费观看| 精品欧美黑人一区二区三区| 另类中文字幕网| 国产亚洲欧洲一区高清在线观看| 国产一区二区三区四区五区入口 | 久久久激情视频| 风间由美一区二区av101| 国产三级一区二区三区| 99久久精品国产精品久久| 1000部国产精品成人观看| 91麻豆精品在线观看| 亚洲国产欧美在线人成| 欧美一区二区黄色| 久久er99热精品一区二区| 国产精品情趣视频| 欧美在线影院一区二区| 人禽交欧美网站| 久久久九九九九| 91国偷自产一区二区开放时间 | 国产欧美日本一区视频| 在线观看免费一区| 激情综合网天天干| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 成人午夜av影视| 一区二区三区四区五区视频在线观看 | 国产精品久久久久一区二区三区共 | 欧美色电影在线| 国产呦精品一区二区三区网站 | 喷水一区二区三区| 久久久午夜电影| 日本高清成人免费播放| 免费成人在线网站| 综合色天天鬼久久鬼色| 日韩午夜av一区| 91女人视频在线观看| 久久国产人妖系列| 亚洲精选一二三| 2020国产成人综合网| 欧美色视频一区| 国产99精品国产| 亚洲二区在线观看| 国产精品网站导航| 在线不卡免费av| 91亚洲精华国产精华精华液| 看电影不卡的网站| 亚洲精品国产第一综合99久久| 在线观看国产91| 91亚洲国产成人精品一区二区三| 美女视频黄频大全不卡视频在线播放 |