-
Notifications
You must be signed in to change notification settings - Fork 24
/
xcircdnull.c
54 lines (43 loc) · 1.71 KB
/
xcircdnull.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*----------------------------------------------------------------------*/
/* xcircdnull.c */
/* */
/* See comments for "xcircexec.c". This has the same function as */
/* xcircexec.c, but does not initialize the Tk package. This avoids */
/* problems attempting to run in an environment without a DISPLAY */
/* variable set (true batch mode). */
/*----------------------------------------------------------------------*/
#include <stdio.h>
#include <tcl.h>
/*----------------------------------------------------------------------*/
/* Application initiation. This is exactly like the AppInit routine */
/* for "wish", minus the cruft, but with "tcl_rcFileName" set to */
/* "xcircuit.tcl" instead of "~/.wishrc". */
/*----------------------------------------------------------------------*/
int
xcircuit_AppInit(interp)
Tcl_Interp *interp;
{
if (Tcl_Init(interp) == TCL_ERROR) {
return TCL_ERROR;
}
Tcl_StaticPackage(interp, "Tcl", Tcl_Init, Tcl_Init);
/* This is where we replace the home ".tclshrc" file with */
/* xcircuit's startup script. */
Tcl_SetVar(interp, "tcl_rcFileName", SCRIPTS_DIR "/xcircuit.tcl",
TCL_GLOBAL_ONLY);
/* Additional variable can be used to tell if xcircuit is in batch mode */
Tcl_SetVar(interp, "batch_mode", "true", TCL_GLOBAL_ONLY);
return TCL_OK;
}
/*----------------------------------------------------------------------*/
/* The main procedure; replacement for "wish". */
/*----------------------------------------------------------------------*/
int
main(argc, argv)
int argc;
char **argv;
{
Tcl_Main(argc, argv, xcircuit_AppInit);
return 0;
}
/*----------------------------------------------------------------------*/