diff options
| author | hobbs <hobbs> | 2000-04-04 08:06:07 (GMT) | 
|---|---|---|
| committer | hobbs <hobbs> | 2000-04-04 08:06:07 (GMT) | 
| commit | 10736d4e37e044b5393fb9069608f7188ef0d9b3 (patch) | |
| tree | c148d30d89ae800e8327ceff33eb33071645bba2 /unix/dltest/pkgc.c | |
| parent | d629aa94a6179c6ebf2844bd69030aca52dd7d73 (diff) | |
| download | tcl-10736d4e37e044b5393fb9069608f7188ef0d9b3.zip tcl-10736d4e37e044b5393fb9069608f7188ef0d9b3.tar.gz tcl-10736d4e37e044b5393fb9069608f7188ef0d9b3.tar.bz2  | |
	* unix/dltest/pkg[a-e].c: Cleaned up test packages [Bug: 2293]
Diffstat (limited to 'unix/dltest/pkgc.c')
| -rw-r--r-- | unix/dltest/pkgc.c | 61 | 
1 files changed, 33 insertions, 28 deletions
diff --git a/unix/dltest/pkgc.c b/unix/dltest/pkgc.c index 9aac361..2d8f576 100644 --- a/unix/dltest/pkgc.c +++ b/unix/dltest/pkgc.c @@ -10,7 +10,7 @@   * See the file "license.terms" for information on usage and redistribution   * of this file, and for a DISCLAIMER OF ALL WARRANTIES.   * - * RCS: @(#) $Id: pkgc.c,v 1.3 1999/03/11 21:47:40 stanton Exp $ + * RCS: @(#) $Id: pkgc.c,v 1.4 2000/04/04 08:06:07 hobbs Exp $   */  #include "tcl.h" @@ -18,15 +18,15 @@   * Prototypes for procedures defined later in this file:   */ -static int	Pkgc_SubCmd _ANSI_ARGS_((ClientData clientData, -		    Tcl_Interp *interp, int argc, char **argv)); -static int	Pkgc_UnsafeCmd _ANSI_ARGS_((ClientData clientData, -		    Tcl_Interp *interp, int argc, char **argv)); +static int    Pkgc_SubObjCmd _ANSI_ARGS_((ClientData clientData, +		Tcl_Interp *interp, int objc, Tcl_Obj * CONST objv[])); +static int    Pkgc_UnsafeObjCmd _ANSI_ARGS_((ClientData clientData, +		Tcl_Interp *interp, int objc, Tcl_Obj * CONST objv[]));  /*   *----------------------------------------------------------------------   * - * Pkgc_SubCmd -- + * Pkgc_SubObjCmd --   *   *	This procedure is invoked to process the "pkgc_sub" Tcl command.   *	It expects two arguments and returns their difference. @@ -41,24 +41,23 @@ static int	Pkgc_UnsafeCmd _ANSI_ARGS_((ClientData clientData,   */  static int -Pkgc_SubCmd(dummy, interp, argc, argv) -    ClientData dummy;			/* Not used. */ -    Tcl_Interp *interp;			/* Current interpreter. */ -    int argc;				/* Number of arguments. */ -    char **argv;			/* Argument strings. */ +Pkgc_SubObjCmd(dummy, interp, objc, objv) +    ClientData dummy;		/* Not used. */ +    Tcl_Interp *interp;		/* Current interpreter. */ +    int objc;			/* Number of arguments. */ +    Tcl_Obj * CONST objv[];	/* Argument objects. */  {      int first, second; -    if (argc != 3) { -	Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], -		" num num\"", (char *) NULL); +    if (objc != 3) { +	Tcl_WrongNumArgs(interp, 1, objv, "num num");  	return TCL_ERROR;      } -    if ((Tcl_GetInt(interp, argv[1], &first) != TCL_OK) -	    || (Tcl_GetInt(interp, argv[2], &second) != TCL_OK)) { +    if ((Tcl_GetIntFromObj(interp, objv[1], &first) != TCL_OK) +	    || (Tcl_GetIntFromObj(interp, objv[2], &second) != TCL_OK)) {  	return TCL_ERROR;      } -    sprintf(interp->result, "%d", first - second); +    Tcl_SetObjResult(interp, Tcl_NewIntObj(first - second));      return TCL_OK;  } @@ -80,13 +79,13 @@ Pkgc_SubCmd(dummy, interp, argc, argv)   */  static int -Pkgc_UnsafeCmd(dummy, interp, argc, argv) -    ClientData dummy;			/* Not used. */ -    Tcl_Interp *interp;			/* Current interpreter. */ -    int argc;				/* Number of arguments. */ -    char **argv;			/* Argument strings. */ +Pkgc_UnsafeObjCmd(dummy, interp, objc, objv) +    ClientData dummy;		/* Not used. */ +    Tcl_Interp *interp;		/* Current interpreter. */ +    int objc;			/* Number of arguments. */ +    Tcl_Obj * CONST objv[];	/* Argument objects. */  { -    interp->result = "unsafe command invoked"; +    Tcl_SetObjResult(interp, Tcl_NewStringObj("unsafe command invoked", -1));      return TCL_OK;  } @@ -121,10 +120,10 @@ Pkgc_Init(interp)      if (code != TCL_OK) {  	return code;      } -    Tcl_CreateCommand(interp, "pkgc_sub", Pkgc_SubCmd, (ClientData) 0, -	    (Tcl_CmdDeleteProc *) NULL); -    Tcl_CreateCommand(interp, "pkgc_unsafe", Pkgc_UnsafeCmd, (ClientData) 0, -	    (Tcl_CmdDeleteProc *) NULL); +    Tcl_CreateObjCommand(interp, "pkgc_sub", Pkgc_SubObjCmd, +	    (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); +    Tcl_CreateObjCommand(interp, "pkgc_unsafe", Pkgc_UnsafeObjCmd, +	    (ClientData) 0, (Tcl_CmdDeleteProc *) NULL);      return TCL_OK;  } @@ -150,10 +149,16 @@ Pkgc_SafeInit(interp)      Tcl_Interp *interp;		/* Interpreter in which the package is  				 * to be made available. */  { +    int code; +      if (Tcl_InitStubs(interp, TCL_VERSION, 1) == NULL) {  	return TCL_ERROR;      } -    Tcl_CreateCommand(interp, "pkgc_sub", Pkgc_SubCmd, (ClientData) 0, +    code = Tcl_PkgProvide(interp, "Pkgc", "1.7.2"); +    if (code != TCL_OK) { +      return code; +    } +    Tcl_CreateObjCommand(interp, "pkgc_sub", Pkgc_SubObjCmd, (ClientData) 0,  	    (Tcl_CmdDeleteProc *) NULL);      return TCL_OK;  }  | 
