pgtkAppInit.c
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:3k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*
  2.  * pgtkAppInit.c
  3.  *
  4.  * a skeletal Tcl_AppInit that provides pgtcl initialization
  5.  *   to create a tclsh that can talk to pglite backends
  6.  *
  7.  * Copyright (c) 1993 The Regents of the University of California.
  8.  * Copyright (c) 1994 Sun Microsystems, Inc.
  9.  *
  10.  * See the file "license.terms" for information on usage and redistribution
  11.  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  12.  */
  13. #include "tk.h"
  14. #include "libpgtcl.h"
  15. /*
  16.  * The following variable is a special hack that is needed in order for
  17.  * Sun shared libraries to be used for Tcl.
  18.  */
  19. #ifdef NEED_MATHERR
  20. extern int matherr();
  21. int    *tclDummyMathPtr = (int *) matherr;
  22. #endif
  23. /*
  24.  *----------------------------------------------------------------------
  25.  *
  26.  * main
  27.  *
  28.  * This is the main program for the application.
  29.  *
  30.  * Results:
  31.  * None: Tk_Main never returns here, so this procedure never
  32.  * returns either.
  33.  *
  34.  * Side effects:
  35.  * Whatever the application does.
  36.  *
  37.  *----------------------------------------------------------------------
  38.  */
  39. int
  40. main(int argc, char **argv)
  41. {
  42. Tk_Main(argc, argv, Tcl_AppInit);
  43. return 0; /* Needed only to prevent compiler
  44.  * warning. */
  45. }
  46. /*
  47.  *----------------------------------------------------------------------
  48.  *
  49.  * Tcl_AppInit
  50.  *
  51.  * This procedure performs application-specific initialization.
  52.  * Most applications, especially those that incorporate additional
  53.  * packages, will have their own version of this procedure.
  54.  *
  55.  * Results:
  56.  * Returns a standard Tcl completion code, and leaves an error
  57.  * message in interp->result if an error occurs.
  58.  *
  59.  * Side effects:
  60.  * Depends on the startup script.
  61.  *
  62.  *----------------------------------------------------------------------
  63.  */
  64. int
  65. Tcl_AppInit(Tcl_Interp *interp)
  66. {
  67. if (Tcl_Init(interp) == TCL_ERROR)
  68. return TCL_ERROR;
  69. if (Tk_Init(interp) == TCL_ERROR)
  70. return TCL_ERROR;
  71. /*
  72.  * Call the init procedures for included packages. Each call should
  73.  * look like this:
  74.  *
  75.  * if (Mod_Init(interp) == TCL_ERROR) { return TCL_ERROR; }
  76.  *
  77.  * where "Mod" is the name of the module.
  78.  */
  79. if (Pgtcl_Init(interp) == TCL_ERROR)
  80. return TCL_ERROR;
  81. /*
  82.  * Call Tcl_CreateCommand for application-specific commands, if they
  83.  * weren't already created by the init procedures called above.
  84.  */
  85. /*
  86.  * Specify a user-specific startup file to invoke if the application
  87.  * is run interactively.  Typically the startup file is "~/.apprc"
  88.  * where "app" is the name of the application. If this line is
  89.  * deleted then no user-specific startup file will be run under any
  90.  * conditions.
  91.  */
  92. #if (TCL_MAJOR_VERSION <= 7) && (TCL_MINOR_VERSION < 5)
  93. tcl_RcFileName = "~/.wishrc";
  94. #else
  95. Tcl_SetVar(interp, "tcl_rcFileName", "~/.wishrc", TCL_GLOBAL_ONLY);
  96. #endif
  97. return TCL_OK;
  98. }