Artifact
7fcbd503a08f74ad38543f9a2c4fbec9b365cce1:
Attachment "if_tcl.c.diff" to
ticket [8419b6d9ae]
added by
jan.nijtmans
2013-09-06 22:49:16.
0000: 2a 2a 2a 20 69 66 5f 74 63 6c 2e 63 2e 6f 72 69 *** if_tcl.c.ori
0010: 67 09 32 30 31 33 2d 30 39 2d 30 37 20 30 30 3a g.2013-09-07 00:
0020: 33 36 3a 30 37 2e 31 35 35 30 37 30 35 30 33 20 36:07.155070503
0030: 2b 30 32 30 30 0a 2d 2d 2d 20 69 66 5f 74 63 6c +0200.--- if_tcl
0040: 2e 63 09 32 30 31 33 2d 30 39 2d 30 37 20 30 30 .c.2013-09-07 00
0050: 3a 34 32 3a 31 31 2e 38 36 35 33 33 38 34 34 38 :42:11.865338448
0060: 20 2b 30 32 30 30 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a +0200.*********
0070: 2a 2a 2a 2a 2a 2a 0a 2a 2a 2a 20 31 36 32 2c 31 ******.*** 162,1
0080: 36 37 20 2a 2a 2a 2a 0a 2d 2d 2d 20 31 36 32 2c 67 ****.--- 162,
0090: 31 36 38 20 2d 2d 2d 2d 0a 20 20 20 2a 2f 0a 20 168 ----. */.
00a0: 20 73 74 61 74 69 63 20 48 41 4e 44 4c 45 20 68 static HANDLE h
00b0: 54 63 6c 4c 69 62 20 3d 20 4e 55 4c 4c 3b 0a 20 TclLib = NULL;.
00c0: 20 54 63 6c 5f 49 6e 74 65 72 70 2a 20 28 2a 64 Tcl_Interp* (*d
00d0: 6c 6c 5f 54 63 6c 5f 43 72 65 61 74 65 49 6e 74 ll_Tcl_CreateInt
00e0: 65 72 70 29 28 29 3b 0a 2b 20 76 6f 69 64 20 28 erp)();.+ void (
00f0: 2a 64 6c 6c 5f 54 63 6c 5f 46 69 6e 64 45 78 65 *dll_Tcl_FindExe
0100: 63 75 74 61 62 6c 65 29 28 63 6f 6e 73 74 20 76 cutable)(const v
0110: 6f 69 64 20 2a 29 3b 0a 20 20 0a 20 20 2f 2a 0a oid *);. . /*.
0120: 20 20 20 2a 20 54 61 62 6c 65 20 6f 66 20 6e 61 * Table of na
0130: 6d 65 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 70 me to function p
0140: 6f 69 6e 74 65 72 20 6f 66 20 74 63 6c 2e 0a 2a ointer of tcl..*
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 2a **************.*
0160: 2a 2a 20 31 37 32 2c 31 37 37 20 2a 2a 2a 2a 0a ** 172,177 ****.
0170: 2d 2d 2d 20 31 37 33 2c 31 37 39 20 2d 2d 2d 2d --- 173,179 ----
0180: 0a 20 20 20 20 20 20 54 43 4c 5f 50 52 4f 43 2a . TCL_PROC*
0190: 20 70 74 72 3b 0a 20 20 7d 20 74 63 6c 5f 66 75 ptr;. } tcl_fu
01a0: 6e 63 6e 61 6d 65 5f 74 61 62 6c 65 5b 5d 20 3d ncname_table[] =
01b0: 20 7b 0a 20 20 20 20 20 20 7b 22 54 63 6c 5f 43 {. {"Tcl_C
01c0: 72 65 61 74 65 49 6e 74 65 72 70 22 2c 20 28 54 reateInterp", (T
01d0: 43 4c 5f 50 52 4f 43 2a 29 26 64 6c 6c 5f 54 63 CL_PROC*)&dll_Tc
01e0: 6c 5f 43 72 65 61 74 65 49 6e 74 65 72 70 7d 2c l_CreateInterp},
01f0: 0a 2b 20 20 20 20 20 7b 22 54 63 6c 5f 46 69 6e .+ {"Tcl_Fin
0200: 64 45 78 65 63 75 74 61 62 6c 65 22 2c 20 28 54 dExecutable", (T
0210: 43 4c 5f 50 52 4f 43 2a 29 26 64 6c 6c 5f 54 63 CL_PROC*)&dll_Tc
0220: 6c 5f 46 69 6e 64 45 78 65 63 75 74 61 62 6c 65 l_FindExecutable
0230: 7d 2c 0a 20 20 20 20 20 20 7b 4e 55 4c 4c 2c 20 },. {NULL,
0240: 4e 55 4c 4c 7d 2c 0a 20 20 7d 3b 0a 20 20 0a 2a NULL},. };. .*
0250: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 2a **************.*
0260: 2a 2a 20 32 34 36 2c 32 35 36 20 2a 2a 2a 2a 0a ** 246,256 ****.
0270: 20 20 20 20 20 20 7b 0a 20 20 09 54 63 6c 5f 49 {. .Tcl_I
0280: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 3b 0a 20 nterp *interp;.
0290: 20 0a 20 20 09 69 66 20 28 69 6e 74 65 72 70 20 . .if (interp
02a0: 3d 20 64 6c 6c 5f 54 63 6c 5f 43 72 65 61 74 65 = dll_Tcl_Create
02b0: 49 6e 74 65 72 70 28 29 29 0a 20 20 09 7b 0a 20 Interp()). .{.
02c0: 20 09 20 20 20 20 69 66 20 28 54 63 6c 5f 49 6e . if (Tcl_In
02d0: 69 74 53 74 75 62 73 28 69 6e 74 65 72 70 2c 20 itStubs(interp,
02e0: 44 59 4e 41 4d 49 43 5f 54 43 4c 5f 56 45 52 2c DYNAMIC_TCL_VER,
02f0: 20 30 29 29 0a 20 20 09 20 20 20 20 7b 0a 2d 20 0)). . {.-
0300: 09 09 54 63 6c 5f 46 69 6e 64 45 78 65 63 75 74 ..Tcl_FindExecut
0310: 61 62 6c 65 28 66 69 6e 64 5f 65 78 65 63 75 74 able(find_execut
0320: 61 62 6c 65 5f 61 72 67 29 3b 0a 20 20 09 09 54 able_arg);. ..T
0330: 63 6c 5f 44 65 6c 65 74 65 49 6e 74 65 72 70 28 cl_DeleteInterp(
0340: 69 6e 74 65 72 70 29 3b 0a 20 20 09 09 73 74 75 interp);. ..stu
0350: 62 73 5f 69 6e 69 74 69 61 6c 69 7a 65 64 20 3d bs_initialized =
0360: 20 54 52 55 45 3b 0a 20 20 09 20 20 20 20 7d 0a TRUE;. . }.
0370: 2d 2d 2d 20 32 34 38 2c 32 35 39 20 2d 2d 2d 2d --- 248,259 ----
0380: 0a 20 20 20 20 20 20 7b 0a 20 20 09 54 63 6c 5f . {. .Tcl_
0390: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 3b 0a Interp *interp;.
03a0: 20 20 0a 2b 20 09 64 6c 6c 5f 54 63 6c 5f 46 69 .+ .dll_Tcl_Fi
03b0: 6e 64 45 78 65 63 75 74 61 62 6c 65 28 66 69 6e ndExecutable(fin
03c0: 64 5f 65 78 65 63 75 74 61 62 6c 65 5f 61 72 67 d_executable_arg
03d0: 29 3b 0a 2b 20 0a 20 20 09 69 66 20 28 69 6e 74 );.+ . .if (int
03e0: 65 72 70 20 3d 20 64 6c 6c 5f 54 63 6c 5f 43 72 erp = dll_Tcl_Cr
03f0: 65 61 74 65 49 6e 74 65 72 70 28 29 29 0a 20 20 eateInterp()).
0400: 09 7b 0a 20 20 09 20 20 20 20 69 66 20 28 54 63 .{. . if (Tc
0410: 6c 5f 49 6e 69 74 53 74 75 62 73 28 69 6e 74 65 l_InitStubs(inte
0420: 72 70 2c 20 44 59 4e 41 4d 49 43 5f 54 43 4c 5f rp, DYNAMIC_TCL_
0430: 56 45 52 2c 20 30 29 29 0a 20 20 09 20 20 20 20 VER, 0)). .
0440: 7b 0a 20 20 09 09 54 63 6c 5f 44 65 6c 65 74 65 {. ..Tcl_Delete
0450: 49 6e 74 65 72 70 28 69 6e 74 65 72 70 29 3b 0a Interp(interp);.
0460: 20 20 09 09 73 74 75 62 73 5f 69 6e 69 74 69 61 ..stubs_initia
0470: 6c 69 7a 65 64 20 3d 20 54 52 55 45 3b 0a 20 20 lized = TRUE;.
0480: 09 20 20 20 20 7d 0a . }.