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
|