summaryrefslogtreecommitdiff
path: root/net/tcl-scotty/patches/patch-tnm_snmp_tnmSnmpAgent.c
blob: d3b366ebcdac35a44b5dfb99281a922496d1e096 (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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
$NetBSD: patch-tnm_snmp_tnmSnmpAgent.c,v 1.1 2014/03/05 13:52:29 he Exp $

Constify.
Avoid use of interp->result.

--- tnm/snmp/tnmSnmpAgent.c.orig	1998-05-19 13:13:53.000000000 +0000
+++ tnm/snmp/tnmSnmpAgent.c
@@ -52,18 +52,21 @@ CacheHit		_ANSI_ARGS_((SNMP_Session *ses
 static char*
 TraceSysUpTime		_ANSI_ARGS_((ClientData clientData,
 				     Tcl_Interp *interp,
-				     char *name1, char *name2, int flags));
+				     const char *name1, const char *name2,
+				     int flags));
 #ifdef TNM_SNMPv2U
 static char*
 TraceAgentTime		_ANSI_ARGS_((ClientData clientData,
 				     Tcl_Interp *interp,
-				     char *name1, char *name2, int flags));
+				     const char *name1, const char *name2,
+				     int flags));
 #endif
 
 static char*
 TraceUnsignedInt	_ANSI_ARGS_((ClientData clientData,
 				     Tcl_Interp *interp,
-				     char *name1, char *name2, int flags));
+				     const char *name1, const char *name2,
+				     int flags));
 static TnmSnmpNode*
 FindInstance		_ANSI_ARGS_((SNMP_Session *session,
 				     Tnm_Oid *oid, int oidlen));
@@ -312,8 +315,8 @@ static char*
 TraceSysUpTime(clientData, interp, name1, name2, flags)
     ClientData clientData;
     Tcl_Interp *interp;
-    char *name1;
-    char *name2;
+    const char *name1;
+    const char *name2;
     int flags;
 {
     char buf[20];
@@ -344,8 +347,8 @@ static char*
 TraceAgentTime(clientData, interp, name1, name2, flags)
     ClientData clientData;
     Tcl_Interp *interp;
-    char *name1;
-    char *name2;
+    const char *name1;
+    const char *name2;
     int flags;
 {
     char buf[20];
@@ -377,8 +380,8 @@ static char*
 TraceUnsignedInt(clientData, interp, name1, name2, flags)
     ClientData clientData;
     Tcl_Interp *interp;
-    char *name1;
-    char *name2;
+    const char *name1;
+    const char *name2;
     int flags;
 {
     char buf[20];
@@ -410,12 +413,15 @@ Tnm_SnmpAgentInit(interp, session)
     SNMP_Session *session;
 {
     static int done = 0;
-    char tclvar[80], buffer[255], *value;
+    char tclvar[80], buffer[255];
+    const char *value;
     struct StatReg *p;
 
     if (Tnm_SnmpAgentOpen(session->agentInterp, session) != TCL_OK) {
 	if (interp != session->agentInterp) {
-	    Tcl_SetResult(interp, session->agentInterp->result, TCL_STATIC);
+	  Tcl_SetResult(interp,
+			(char*)Tcl_GetStringResult(session->agentInterp),
+			TCL_VOLATILE);
 	}
 	return TCL_ERROR;
     }
@@ -618,7 +624,7 @@ GetRequest(interp, session, request, res
 
     for (i = 0; i < inVarBindSize; i++) {
 
-	char *value, *syntax;
+	const char *value, *syntax;
 
 	oid = Tnm_StrToOid(inVarBindPtr[i].soid, &oidlen);
 	if (request->type == TNM_SNMP_GETNEXT 
@@ -689,7 +695,7 @@ GetRequest(interp, session, request, res
 
       varBindTclError:
 	response->error_status = TnmGetTableKey(tnmSnmpErrorTable, 
-						interp->result);
+						Tcl_GetStringResult(interp));
 	if (response->error_status < 0) {
 	    response->error_status = TNM_SNMP_GENERR;
 	}
@@ -755,7 +761,7 @@ SetRequest(interp, session, request, res
 
     for (i = 0; i < inVarBindSize; i++) {
 
-	char *value, *syntax;
+	const char *value, *syntax;
 	int setAlreadyDone = 0;
 	varsToRollback = i;
 	
@@ -859,7 +865,7 @@ SetRequest(interp, session, request, res
 
       varBindTclError:
 	response->error_status = TnmGetTableKey(tnmSnmpErrorTable, 
-						interp->result);
+						Tcl_GetStringResult(interp));
 	if (response->error_status < 0) {
 	    response->error_status = TNM_SNMP_GENERR;
 	}
@@ -902,8 +908,9 @@ SetRequest(interp, session, request, res
 	    }
 
 	    if (code != TCL_OK) {
-		response->error_status = TnmGetTableKey(tnmSnmpErrorTable, 
-							interp->result);
+		response->error_status =
+		  TnmGetTableKey(tnmSnmpErrorTable, 
+				 Tcl_GetStringResult(interp));
 		if (response->error_status < 0) {
 		    response->error_status = TNM_SNMP_GENERR;
 		}