Tcl Source Code

Hex Artifact Content
Login

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                             .    }.