summaryrefslogtreecommitdiff
blob: 0361dbfead0a1edc7a129f707dc8fcd143c48ee3 (plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
From 061f15e06d6cf85e951cd321360067de5f0b2ce0 Mon Sep 17 00:00:00 2001
From: Justin Bronder <jsbronder@gmail.com>
Date: Thu, 7 Mar 2013 22:33:04 -0500
Subject: [PATCH] support tcl-8.6

---
 src/cmds/qstat.c                | 13 +++++++++----
 src/scheduler.tcl/pbs_tclWrap.c |  6 +++---
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/cmds/qstat.c b/src/cmds/qstat.c
index 5f85de7..7f289ba 100644
--- a/src/cmds/qstat.c
+++ b/src/cmds/qstat.c
@@ -88,6 +88,11 @@
 #if TCL_QSTAT
 #include <sys/stat.h>
 #include <tcl.h>
+#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+#define Tcl_GetStringResult(x) x->result
+#define Tcl_GetErrorLine(x) x->errorLine
+#define Tcl_SetResult(x, y, z) x->result = y
+#endif
 #if TCLX
 #include <tclExtend.h>
 #endif
@@ -1856,7 +1861,7 @@ tcl_init(void)
   if (Tcl_Init(interp) == TCL_ERROR)
     {
     fprintf(stderr, "Tcl_Init error: %s",
-            interp->result);
+            Tcl_GetStringResult(interp));
     }
 
 #if TCLX
@@ -1869,7 +1874,7 @@ tcl_init(void)
     {
 #endif
     fprintf(stderr, "Tclx_Init error: %s",
-            interp->result);
+            Tcl_GetStringResult(interp));
     }
 
 #endif /* TCLX */
@@ -1980,10 +1985,10 @@ void tcl_run(
     trace = (char *)Tcl_GetVar(interp, "errorInfo", 0);
 
     if (trace == NULL)
-      trace = interp->result;
+      trace = Tcl_GetStringResult(interp);
 
     fprintf(stderr, "%s: TCL error @ line %d: %s\n",
-            script, interp->errorLine, trace);
+            script, Tcl_GetErrorLine(interp), trace);
     }
 
   Tcl_DeleteInterp(interp);
diff --git a/src/scheduler.tcl/pbs_tclWrap.c b/src/scheduler.tcl/pbs_tclWrap.c
index e859ae5..194c24b 100644
--- a/src/scheduler.tcl/pbs_tclWrap.c
+++ b/src/scheduler.tcl/pbs_tclWrap.c
@@ -924,7 +924,7 @@ char *argv[];
 
   if (argc != 2)
     {
-    sprintf(interp->result,
+    sprintf(Tcl_GetStringResult(interp),
             "%s: wrong # args: job_id", argv[0]);
     return TCL_ERROR;
     }
@@ -936,11 +936,11 @@ char *argv[];
     return TCL_OK;
     }
 
-  interp->result = "0";
+  Tcl_SetResult(interp, "0", TCL_STATIC);
 
   if (pbs_rerunjob(connector, argv[1], extend))
     {
-    interp->result = "-1";
+    Tcl_SetResult(interp, "-1", TCL_STATIC);
     msg = pbs_geterrmsg(connector);
     sprintf(log_buffer, "%s (%d)", msg ? msg : fail, pbs_errno);
     log_err(-1, argv[0], log_buffer);
-- 
1.7.12.4