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

数据库系统

开发平台:

Unix_Linux

  1. /*
  2.  * pgtclAppInit.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 <tcl.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: Tcl_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. Tcl_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. /*
  70.  * Call the init procedures for included packages. Each call should
  71.  * look like this:
  72.  *
  73.  * if (Mod_Init(interp) == TCL_ERROR) { return TCL_ERROR; }
  74.  *
  75.  * where "Mod" is the name of the module.
  76.  */
  77. if (Pgtcl_Init(interp) == TCL_ERROR)
  78. return TCL_ERROR;
  79. /*
  80.  * Call Tcl_CreateCommand for application-specific commands, if they
  81.  * weren't already created by the init procedures called above.
  82.  */
  83. /*
  84.  * Specify a user-specific startup file to invoke if the application
  85.  * is run interactively.  Typically the startup file is "~/.apprc"
  86.  * where "app" is the name of the application. If this line is
  87.  * deleted then no user-specific startup file will be run under any
  88.  * conditions.
  89.  */
  90. #if (TCL_MAJOR_VERSION <= 7) && (TCL_MINOR_VERSION < 5)
  91. tcl_RcFileName = "~/.tclshrc";
  92. #else
  93. Tcl_SetVar(interp, "tcl_rcFileName", "~/.tclshrc", TCL_GLOBAL_ONLY);
  94. #endif
  95. return TCL_OK;
  96. }