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

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

?? tclcmdah.c

?? tcl源碼詳細資料
?? C
?? 第 1 頁 / 共 2 頁
字號:
#ifndef EXCLUDE_TCL/*  * tclCmdAH.c -- * *	This file contains the top-level command routines for most of *	the Tcl built-in commands whose names begin with the letters *	A to H. * * 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"/* *---------------------------------------------------------------------- * * Tcl_BreakCmd -- * *	This procedure is invoked to process the "break" 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_BreakCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    if (argc != 1) {	Tcl_AppendResult(interp, "wrong # args: should be \"",		argv[0], "\"", (char *) NULL);	return TCL_ERROR;    }    return TCL_BREAK;}/* *---------------------------------------------------------------------- * * Tcl_CaseCmd -- * *	This procedure is invoked to process the "case" 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_CaseCmd(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;    int body;    char *string;    int caseArgc, splitArgs;    char **caseArgv;    if (argc < 3) {	Tcl_AppendResult(interp, "wrong # args: should be \"",		argv[0], " string ?in? patList body ... ?default body?\"",		(char *) NULL);	return TCL_ERROR;    }    string = argv[1];    body = -1;    if (strcmp(argv[2], "in") == 0) {	i = 3;    } else {	i = 2;    }    caseArgc = argc - i;    caseArgv = argv + i;    /*     * If all of the pattern/command pairs are lumped into a single     * argument, split them out again.     */    splitArgs = 0;    if (caseArgc == 1) {	result = Tcl_SplitList(interp, caseArgv[0], &caseArgc, &caseArgv);	if (result != TCL_OK) {	    return result;	}	splitArgs = 1;    }    for (i = 0; i < caseArgc; i += 2) {	int patArgc, j;	char **patArgv;	register char *p;	if (i == (caseArgc-1)) {	    interp->result = "extra case pattern with no body";	    result = TCL_ERROR;	    goto cleanup;	}	/*	 * Check for special case of single pattern (no list) with	 * no backslash sequences.	 */	for (p = caseArgv[i]; *p != 0; p++) {	    if (isspace(*p) || (*p == '\\')) {		break;	    }	}	if (*p == 0) {	    if ((*caseArgv[i] == 'd')		    && (strcmp(caseArgv[i], "default") == 0)) {		body = i+1;	    }	    if (Tcl_StringMatch(string, caseArgv[i])) {		body = i+1;		goto match;	    }	    continue;	}	/*	 * Break up pattern lists, then check each of the patterns	 * in the list.	 */	result = Tcl_SplitList(interp, caseArgv[i], &patArgc, &patArgv);	if (result != TCL_OK) {	    goto cleanup;	}	for (j = 0; j < patArgc; j++) {	    if (Tcl_StringMatch(string, patArgv[j])) {		body = i+1;		break;	    }	}	ckfree((char *) patArgv);	if (j < patArgc) {	    break;	}    }    match:    if (body != -1) {	result = Tcl_Eval(interp, caseArgv[body], 0, (char **) NULL);	if (result == TCL_ERROR) {	    char msg[100];	    sprintf(msg, "\n    (\"%.50s\" arm line %d)", caseArgv[body-1],		    interp->errorLine);	    Tcl_AddErrorInfo(interp, msg);	}	goto cleanup;    }    /*     * Nothing matched:  return nothing.     */    result = TCL_OK;    cleanup:    if (splitArgs) {	ckfree((char *) caseArgv);    }    return result;}/* *---------------------------------------------------------------------- * * Tcl_CatchCmd -- * *	This procedure is invoked to process the "catch" 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_CatchCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    int result;    if ((argc != 2) && (argc != 3)) {	Tcl_AppendResult(interp, "wrong # args: should be \"",		argv[0], " command ?varName?\"", (char *) NULL);	return TCL_ERROR;    }    result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);    if (argc == 3) {	if (Tcl_SetVar(interp, argv[2], interp->result, 0) == NULL) {	    Tcl_SetResult(interp, "couldn't save command result in variable",		    TCL_STATIC);	    return TCL_ERROR;	}    }    Tcl_ResetResult(interp);    sprintf(interp->result, "%d", result);    return TCL_OK;}/* *---------------------------------------------------------------------- * * Tcl_ConcatCmd -- * *	This procedure is invoked to process the "concat" 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_ConcatCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    if (argc == 1) {	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		" arg ?arg ...?\"", (char *) NULL);	return TCL_ERROR;    }    interp->result = Tcl_Concat(argc-1, argv+1);    interp->freeProc = (Tcl_FreeProc *) free;    return TCL_OK;}/* *---------------------------------------------------------------------- * * Tcl_ContinueCmd -- * *	This procedure is invoked to process the "continue" 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_ContinueCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    if (argc != 1) {	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		"\"", (char *) NULL);	return TCL_ERROR;    }    return TCL_CONTINUE;}/* *---------------------------------------------------------------------- * * Tcl_ErrorCmd -- * *	This procedure is invoked to process the "error" 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_ErrorCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    Interp *iPtr = (Interp *) interp;    if ((argc < 2) || (argc > 4)) {	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		" message ?errorInfo? ?errorCode?\"", (char *) NULL);	return TCL_ERROR;    }    if ((argc >= 3) && (argv[2][0] != 0)) {	Tcl_AddErrorInfo(interp, argv[2]);	iPtr->flags |= ERR_ALREADY_LOGGED;    }    if (argc == 4) {	Tcl_SetVar2(interp, "errorCode", (char *) NULL, argv[3],		TCL_GLOBAL_ONLY);	iPtr->flags |= ERROR_CODE_SET;    }    Tcl_SetResult(interp, argv[1], TCL_VOLATILE);    return TCL_ERROR;}/* *---------------------------------------------------------------------- * * Tcl_EvalCmd -- * *	This procedure is invoked to process the "eval" 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_EvalCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    int result;    char *cmd;    if (argc < 2) {	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		" arg ?arg ...?\"", (char *) NULL);	return TCL_ERROR;    }    if (argc == 2) {	result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);    } else {    	/*	 * More than one argument:  concatenate them together with spaces	 * between, then evaluate the result.	 */    	cmd = Tcl_Concat(argc-1, argv+1);	result = Tcl_Eval(interp, cmd, 0, (char **) NULL);	ckfree(cmd);    }    if (result == TCL_ERROR) {	char msg[60];	sprintf(msg, "\n    (\"eval\" body line %d)", interp->errorLine);	Tcl_AddErrorInfo(interp, msg);    }    return result;}/* *---------------------------------------------------------------------- * * Tcl_ExprCmd -- * *	This procedure is invoked to process the "expr" 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_ExprCmd(dummy, interp, argc, argv)    ClientData dummy;			/* Not used. */    Tcl_Interp *interp;			/* Current interpreter. */    int argc;				/* Number of arguments. */    char **argv;			/* Argument strings. */{    if (argc != 2) {	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],		" expression\"", (char *) NULL);	return TCL_ERROR;    }    return Tcl_ExprString(interp, argv[1]);}/* *---------------------------------------------------------------------- * * Tcl_ForCmd -- * *	This procedure is invoked to process the "for" Tcl command. *	See the user documentation for details on what it does. * * Results: *	A standard Tcl result. * * Side effects: *	See the user documentation. * *---------------------------------------------------------------------- */	/* ARGSUSED */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区黄| 91女神在线视频| 亚洲午夜私人影院| 国产午夜精品美女毛片视频| 欧美视频自拍偷拍| 99精品1区2区| 成人av在线电影| 国产高清精品久久久久| 日本亚洲最大的色成网站www| 亚洲日本护士毛茸茸| 国产欧美1区2区3区| 精品人在线二区三区| 91精品国产综合久久蜜臀| 欧美日韩一区 二区 三区 久久精品 | 欧美成人福利视频| 91精品国产日韩91久久久久久| 久久美女高清视频| 精品制服美女丁香| 久久综合九色综合欧美就去吻| 精品影视av免费| 日韩女同互慰一区二区| 精品综合久久久久久8888| 精品国产免费久久| 国产成人精品一区二区三区网站观看| 欧美xingq一区二区| 欧美高清视频不卡网| 欧美日韩亚洲另类| 欧美高清性hdvideosex| 91麻豆精品久久久久蜜臀| 91麻豆精品国产91久久久资源速度| 欧美日韩中文字幕一区| 欧美日韩午夜精品| 欧美一区二区三区影视| 51精品国自产在线| 精品国产乱码久久| 欧美精品一区二| 久久精品人人爽人人爽| 欧美高清在线精品一区| 1024精品合集| 亚洲第一久久影院| 日本美女一区二区| 国产一区二区精品久久| 粉嫩在线一区二区三区视频| av亚洲精华国产精华精| 欧洲av一区二区嗯嗯嗯啊| 欧美视频一区二区三区四区 | 欧美日韩激情一区| 678五月天丁香亚洲综合网| 日韩限制级电影在线观看| 2021国产精品久久精品| 国产欧美一区二区精品婷婷| 亚洲欧洲性图库| 五月婷婷综合网| 久久精品理论片| 欧美一级生活片| 久久亚洲影视婷婷| ...中文天堂在线一区| 亚洲福利国产精品| 韩国欧美国产一区| 不卡高清视频专区| 欧美日韩国产一级片| 日韩欧美国产午夜精品| 欧美经典一区二区| 亚洲成人中文在线| 精品一区二区在线免费观看| 91在线视频免费观看| 欧美久久久久久久久中文字幕| 26uuu欧美日本| 中文字幕一区二区三区色视频| 日韩不卡一二三区| 欧美国产激情二区三区| 欧美性大战久久| 成人av在线一区二区| 老汉av免费一区二区三区| 亚洲一区二区在线免费看| 国产精品视频一二| 久久综合色之久久综合| 欧美一二三四区在线| 色综合欧美在线视频区| 日韩欧美国产麻豆| 又紧又大又爽精品一区二区| 久久66热偷产精品| 欧美三区在线观看| 国产无人区一区二区三区| 亚洲综合激情小说| 国产精品一线二线三线精华| 色94色欧美sute亚洲线路一久| 欧美成人三级电影在线| 亚洲欧美国产三级| 国产九九视频一区二区三区| 欧美午夜一区二区三区免费大片| 久久免费精品国产久精品久久久久 | 亚洲三级理论片| 欧美日韩你懂得| 2017欧美狠狠色| 亚洲一区二区成人在线观看| 岛国一区二区在线观看| 日韩一区二区免费视频| 亚洲伊人伊色伊影伊综合网| 成人午夜激情在线| 亚洲精品一区二区三区精华液 | 日本欧美一区二区| 日本黄色一区二区| 国产精品视频麻豆| 激情文学综合网| 91精品国产91久久综合桃花| 亚洲品质自拍视频| 国产高清久久久久| 精品sm在线观看| 蜜桃视频第一区免费观看| 色菇凉天天综合网| 中文字幕在线一区| 国产精品自在欧美一区| 精品久久久久久久一区二区蜜臀| 视频一区中文字幕国产| 欧美性生活一区| 一区二区三区成人在线视频| 成人av电影在线| 国产精品欧美极品| 成人美女在线视频| 日本一区二区成人在线| 成人中文字幕电影| 国产精品久久网站| 不卡电影一区二区三区| 国产精品美女久久久久久久久久久| 狠狠久久亚洲欧美| 久久精品一区二区| 国产精品一级在线| 日本韩国欧美国产| 欧美一区二区三区成人| 久久精品亚洲国产奇米99| 日韩欧美激情一区| 中文字幕欧美一| 日韩国产精品久久久久久亚洲| 麻豆freexxxx性91精品| 欧美日韩色一区| 91影视在线播放| 久久久一区二区三区捆绑**| 看电视剧不卡顿的网站| 久久综合久久综合九色| 国产一区二区三区四区在线观看| 久久这里只有精品视频网| 国产成人精品影视| 亚洲视频免费看| 欧美亚洲综合另类| 喷水一区二区三区| 精品免费视频一区二区| 国产乱人伦偷精品视频免下载| 日本一区二区在线不卡| av在线播放成人| 亚洲一二三四区| 日韩一区二区三区视频在线| 经典三级在线一区| 国产精品久久久久精k8 | 亚洲欧美成aⅴ人在线观看| 色噜噜狠狠一区二区三区果冻| 一个色在线综合| 日韩欧美黄色影院| 高清成人在线观看| 亚洲综合免费观看高清完整版| 欧美区在线观看| 精品一区二区久久久| 日韩一区日韩二区| 欧美日本国产视频| 国产凹凸在线观看一区二区| 国产精品福利一区| 色噜噜狠狠色综合欧洲selulu| 午夜久久久久久久久| 精品成a人在线观看| 99国产精品国产精品久久| 日韩福利电影在线观看| 久久精品视频在线看| 欧美性生活一区| 国产一区视频在线看| 亚洲女人的天堂| 久久婷婷国产综合国色天香| 色综合久久久网| 国产综合色视频| 亚洲一区二区偷拍精品| 久久久久久久久久久99999| 欧美在线综合视频| 国产精品18久久久久久vr| 亚洲曰韩产成在线| 国产午夜亚洲精品理论片色戒| 欧美午夜寂寞影院| 国产99久久久精品| 天天综合网天天综合色| 国产精品国产馆在线真实露脸| 欧美一区二区视频免费观看| 93久久精品日日躁夜夜躁欧美| 日本 国产 欧美色综合| 亚洲欧美另类在线| 国产亚洲短视频| 制服丝袜亚洲网站| 在线观看三级视频欧美| 国产成人高清在线| 久久精品国产亚洲a| 五月天激情综合| 一区二区在线免费观看| 国产丝袜欧美中文另类|