From: Ron F. <ro...@us...> - 2004-06-18 11:19:11
|
Update of /cvsroot/nscldaq/clients/Stager In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv959 Modified Files: Tag: daqclients-7_4_development Makefile.am Added Files: Tag: daqclients-7_4_development SecretTk.c Log Message: Add SecretTk - a tk shell that hides its arguments. Index: Makefile.am =================================================================== RCS file: /cvsroot/nscldaq/clients/Stager/Makefile.am,v retrieving revision 3.7 retrieving revision 3.7.2.1 diff -C2 -d -r3.7 -r3.7.2.1 *** Makefile.am 3 Feb 2004 21:36:05 -0000 3.7 --- Makefile.am 18 Jun 2004 11:19:01 -0000 3.7.2.1 *************** *** 18,21 **** --- 18,22 ---- ./installpkg $(prefix) + EXTRA_DIST = Experiment.tcl \ GetTapeDrive.tcl \ *************** *** 40,43 **** --- 41,51 ---- installpkg + bin_PROGRAMS = SecretTk + + SecretTk_SOURCES = SecretTk.c + + SecretTk_LDFLAGS= $(TCL_LDFLAGS) $(X11LIBS) + + lib_LTLIBRARIES = libWait.la libWait_la_SOURCES = WaitPackage.cpp --- NEW FILE: SecretTk.c --- /* * tkAppInit.c -- * * Provides a default version of the Tcl_AppInit procedure for * use in wish and similar Tk-based applications. * * Copyright (c) 1993 The Regents of the University of California. * Copyright (c) 1994-1997 Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * RCS: @(#) $Id: SecretTk.c,v 1.1.2.1 2004/06/18 11:19:01 ron-fox Exp $ */ #include "tk.h" #include "locale.h" #include <string.h> #ifdef TK_TEST extern int Tktest_Init _ANSI_ARGS_((Tcl_Interp *interp)); #endif /* TK_TEST */ /* *---------------------------------------------------------------------- * * main -- * * This is the main program for the application. * * Results: * None: Tk_Main never returns here, so this procedure never * returns either. * * Side effects: * Whatever the application does. * *---------------------------------------------------------------------- */ /* * The following #if block allows you to change the AppInit * function by using a #define of TCL_LOCAL_APPINIT instead * of rewriting this entire file. The #if checks for that * #define and uses Tcl_AppInit if it doesn't exist. */ #ifndef TK_LOCAL_APPINIT #define TK_LOCAL_APPINIT Tcl_AppInit #endif extern int TK_LOCAL_APPINIT _ANSI_ARGS_((Tcl_Interp *interp)); static int Argc; static char **Argv; int main(argc, argv) int argc; /* Number of command-line arguments. */ char **argv; /* Values of command-line arguments. */ { /* Save the args for later butchery: */ Argc = argc; Argv = argv; /* * The following #if block allows you to change how Tcl finds the startup * script, prime the library or encoding paths, fiddle with the argv, * etc., without needing to rewrite Tk_Main() */ #ifdef TK_LOCAL_MAIN_HOOK extern int TK_LOCAL_MAIN_HOOK _ANSI_ARGS_((int *argc, char ***argv)); TK_LOCAL_MAIN_HOOK(&argc, &argv); #endif Tk_Main(argc, argv, TK_LOCAL_APPINIT); return 0; /* Needed only to prevent compiler warning. */ } /* *---------------------------------------------------------------------- * * Tcl_AppInit -- * * This procedure performs application-specific initialization. * Most applications, especially those that incorporate additional * packages, will have their own version of this procedure. * * Results: * Returns a standard Tcl completion code, and leaves an error * message in the interp's result if an error occurs. * * Side effects: * Depends on the startup script. * *---------------------------------------------------------------------- */ int Tcl_AppInit(interp) Tcl_Interp *interp; /* Interpreter for application. */ { if (Tcl_Init(interp) == TCL_ERROR) { return TCL_ERROR; } if (Tk_Init(interp) == TCL_ERROR) { return TCL_ERROR; } Tcl_StaticPackage(interp, "Tk", Tk_Init, Tk_SafeInit); #ifdef TK_TEST if (Tktest_Init(interp) == TCL_ERROR) { return TCL_ERROR; } Tcl_StaticPackage(interp, "Tktest", Tktest_Init, (Tcl_PackageInitProc *) NULL); #endif /* TK_TEST */ /* * Call the init procedures for included packages. Each call should * look like this: * * if (Mod_Init(interp) == TCL_ERROR) { * return TCL_ERROR; * } * * where "Mod" is the name of the module. */ /* * Call Tcl_CreateCommand for application-specific commands, if * they weren't already created by the init procedures called above. */ /* * Specify a user-specific startup file to invoke if the application * is run interactively. Typically the startup file is "~/.apprc" * where "app" is the name of the application. If this line is deleted * then no user-specific startup file will be run under any conditions. */ Tcl_SetVar(interp, "tcl_rcFileName", "~/.wishrc", TCL_GLOBAL_ONLY); { int i; for(i = 1; i < Argc; i++) { memset(Argv[i], 0, strlen(Argv[i])); } } return TCL_OK; } |