source: tol/toltcl/generic/tolsh.c @ 2328789

1941-docker-image-to-testdevel
Last change on this file since 2328789 was 2328789, checked in by Jorge Pérez <josp.jorge@…>, 11 years ago

refs #1904, #1905, necesitamos referenciar un simbolo de libtol.so para forzar la dependencia en ubuntu

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@7160 be4846ae-f051-483a-831f-b64e7d08527f

  • Property mode set to 100644
File size: 1.3 KB
Line 
1#include <tcl.h>
2#include "toltcl.h"
3
4#if !defined(WIN32)
5#include "tol/tol_init.h"
6#endif
7
8static int g_argc = 0;
9static char **g_argv = NULL;
10
11static
12void SetupArgv( Tcl_Interp *interp )
13{
14  Tcl_Obj *argvPtr = Tcl_NewListObj(0, NULL);
15  int i;
16  for( i = 1; i < g_argc; i++ )
17    {
18      Tcl_DString ds;
19      Tcl_ExternalToUtfDString(NULL, g_argv[i], -1, &ds);
20      Tcl_ListObjAppendElement(NULL, argvPtr,
21                               Tcl_NewStringObj(Tcl_DStringValue(&ds),
22                                                Tcl_DStringLength(&ds)));
23      Tcl_DStringFree(&ds);
24    }
25    Tcl_SetVar2Ex(interp, "argv", NULL, argvPtr, TCL_GLOBAL_ONLY);
26    Tcl_SetVar2Ex(interp, "argc", NULL, Tcl_NewIntObj(g_argc-1), TCL_GLOBAL_ONLY);
27}
28
29int AppInit(Tcl_Interp *interp)
30{
31  if( Tcl_Init(interp) == TCL_ERROR )
32    {
33    return TCL_ERROR;
34    }
35  SetupArgv( interp );
36  Tcl_VarEval( interp, "lappend", " auto_path", " [file join",
37               " [file dir [file dir ", Tcl_GetNameOfExecutable(),
38               " ] ] lib ]", NULL );
39  if ( !Tcl_PkgRequire( interp, "TolshApp", TOLTCL_VERSION, 1) )
40    {
41    printf( "%s\n", Tcl_GetStringResult( interp ) );
42    Tcl_Exit( -1 );
43    }
44  return TCL_OK;
45}
46
47int main(int argc, char *argv[])
48{
49  g_argc = argc;
50  g_argv = argv;
51  const char * version = TOLVersion();
52  Tcl_Main( 1, argv, AppInit );
53  return 0;
54}
Note: See TracBrowser for help on using the repository browser.