diff options
Diffstat (limited to 'unix/dltest/pkgb.c')
-rw-r--r-- | unix/dltest/pkgb.c | 102 |
1 files changed, 47 insertions, 55 deletions
diff --git a/unix/dltest/pkgb.c b/unix/dltest/pkgb.c index fe0d365..d7a7e5b 100644 --- a/unix/dltest/pkgb.c +++ b/unix/dltest/pkgb.c @@ -1,43 +1,33 @@ -/* +/* * pkgb.c -- * - * This file contains a simple Tcl package "pkgb" that is intended for - * testing the Tcl dynamic loading facilities. It can be used in both - * safe and unsafe interpreters. + * This file contains a simple Tcl package "pkgb" that is intended + * for testing the Tcl dynamic loading facilities. It can be used + * in both safe and unsafe interpreters. * * Copyright (c) 1995 Sun Microsystems, Inc. * - * See the file "license.terms" for information on usage and redistribution of - * this file, and for a DISCLAIMER OF ALL WARRANTIES. + * See the file "license.terms" for information on usage and redistribution + * of this file, and for a DISCLAIMER OF ALL WARRANTIES. */ - -#undef STATIC_BUILD #include "tcl.h" /* - * TCL_STORAGE_CLASS is set unconditionally to DLLEXPORT because the - * Pkgb_Init declaration is in the source file itself, which is only - * accessed when we are building a library. - */ -#undef TCL_STORAGE_CLASS -#define TCL_STORAGE_CLASS DLLEXPORT - -/* * Prototypes for procedures defined later in this file: */ -static int Pkgb_SubObjCmd(ClientData clientData, - Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); -static int Pkgb_UnsafeObjCmd(ClientData clientData, - Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); +static int Pkgb_SubObjCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int objc, Tcl_Obj * CONST objv[])); +static int Pkgb_UnsafeObjCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int objc, Tcl_Obj * CONST objv[])); /* *---------------------------------------------------------------------- * * Pkgb_SubObjCmd -- * - * This procedure is invoked to process the "pkgb_sub" Tcl command. It - * expects two arguments and returns their difference. + * This procedure is invoked to process the "pkgb_sub" Tcl command. + * It expects two arguments and returns their difference. * * Results: * A standard Tcl result. @@ -49,21 +39,21 @@ static int Pkgb_UnsafeObjCmd(ClientData clientData, */ static int -Pkgb_SubObjCmd( - ClientData dummy, /* Not used. */ - Tcl_Interp *interp, /* Current interpreter. */ - int objc, /* Number of arguments. */ - Tcl_Obj *const objv[]) /* Argument objects. */ +Pkgb_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 (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "num num"); - return TCL_ERROR; + return TCL_ERROR; } if ((Tcl_GetIntFromObj(interp, objv[1], &first) != TCL_OK) || (Tcl_GetIntFromObj(interp, objv[2], &second) != TCL_OK)) { - return TCL_ERROR; + return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewIntObj(first - second)); return TCL_OK; @@ -74,8 +64,8 @@ Pkgb_SubObjCmd( * * Pkgb_UnsafeObjCmd -- * - * This procedure is invoked to process the "pkgb_unsafe" Tcl command. It - * just returns a constant string. + * This procedure is invoked to process the "pkgb_unsafe" Tcl command. + * It just returns a constant string. * * Results: * A standard Tcl result. @@ -87,11 +77,11 @@ Pkgb_SubObjCmd( */ static int -Pkgb_UnsafeObjCmd( - ClientData dummy, /* Not used. */ - Tcl_Interp *interp, /* Current interpreter. */ - int objc, /* Number of arguments. */ - Tcl_Obj *const objv[]) /* Argument objects. */ +Pkgb_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. */ { Tcl_SetObjResult(interp, Tcl_NewStringObj("unsafe command invoked", -1)); return TCL_OK; @@ -102,8 +92,8 @@ Pkgb_UnsafeObjCmd( * * Pkgb_Init -- * - * This is a package initialization procedure, which is called by Tcl - * when this package is to be added to an interpreter. + * This is a package initialization procedure, which is called + * by Tcl when this package is to be added to an interpreter. * * Results: * None. @@ -114,23 +104,24 @@ Pkgb_UnsafeObjCmd( *---------------------------------------------------------------------- */ -EXTERN int -Pkgb_Init( - Tcl_Interp *interp) /* Interpreter in which the package is to be - * made available. */ +int +Pkgb_Init(interp) + Tcl_Interp *interp; /* Interpreter in which the package is + * to be made available. */ { int code; - if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL) { + if (Tcl_InitStubs(interp, TCL_VERSION, 1) == NULL) { return TCL_ERROR; } code = Tcl_PkgProvide(interp, "Pkgb", "2.3"); if (code != TCL_OK) { return code; } - Tcl_CreateObjCommand(interp, "pkgb_sub", Pkgb_SubObjCmd, NULL, NULL); - Tcl_CreateObjCommand(interp, "pkgb_unsafe", Pkgb_UnsafeObjCmd, NULL, - NULL); + Tcl_CreateObjCommand(interp, "pkgb_sub", Pkgb_SubObjCmd, + (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); + Tcl_CreateObjCommand(interp, "pkgb_unsafe", Pkgb_UnsafeObjCmd, + (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); return TCL_OK; } @@ -139,8 +130,8 @@ Pkgb_Init( * * Pkgb_SafeInit -- * - * This is a package initialization procedure, which is called by Tcl - * when this package is to be added to a safe interpreter. + * This is a package initialization procedure, which is called + * by Tcl when this package is to be added to an unsafe interpreter. * * Results: * None. @@ -151,20 +142,21 @@ Pkgb_Init( *---------------------------------------------------------------------- */ -EXTERN int -Pkgb_SafeInit( - Tcl_Interp *interp) /* Interpreter in which the package is to be - * made available. */ +int +Pkgb_SafeInit(interp) + Tcl_Interp *interp; /* Interpreter in which the package is + * to be made available. */ { int code; - if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL) { + if (Tcl_InitStubs(interp, TCL_VERSION, 1) == NULL) { return TCL_ERROR; } code = Tcl_PkgProvide(interp, "Pkgb", "2.3"); if (code != TCL_OK) { - return code; + return code; } - Tcl_CreateObjCommand(interp, "pkgb_sub", Pkgb_SubObjCmd, NULL, NULL); + Tcl_CreateObjCommand(interp, "pkgb_sub", Pkgb_SubObjCmd, (ClientData) 0, + (Tcl_CmdDeleteProc *) NULL); return TCL_OK; } |