pkgsrc/net/tcl-scotty/patches/patch-tnm_snmp_tnmSnmpSend.c
he 5b73f85427 Make tcl-scotty build with minimal warnings and install again.
This change is the result of a large sweep triggered by the new
Tcl which has const'ified many interfaces -- this follows suit with
many corresponding changes internally in scotty => lots of new
patches.

Also, change so as to not access interp->errorLine and
interp->result directly, use the accessor functions instead,
and turn off the corresponding compatibility defines.

The old patch files have been renamed and expanded, the new
scheme for naming patch files is used.

Only minimal functionality testing is done, but what has been
done shows that it basically works again.

PKGREVISION bumped.
2014-03-05 13:52:29 +00:00

136 lines
4.2 KiB
C

$NetBSD: patch-tnm_snmp_tnmSnmpSend.c,v 1.1 2014/03/05 13:52:29 he Exp $
Constify.
Avoid use of interp->result.
--- tnm/snmp/tnmSnmpSend.c.orig 1999-03-23 17:15:14.000000000 +0000
+++ tnm/snmp/tnmSnmpSend.c
@@ -67,6 +67,7 @@ Tnm_SnmpEncode(interp, session, pdu, pro
{
int retry = 0, packetlen = 0, rc = 0;
u_char packet[TNM_SNMP_MAXSIZE];
+ char res[20];
memset((char *) packet, 0, sizeof(packet));
packetlen = 0;
@@ -166,7 +167,8 @@ Tnm_SnmpEncode(interp, session, pdu, pro
rPtr = Tnm_SnmpCreateRequest(pdu->request_id, packet, packetlen,
proc, clientData, interp);
Tnm_SnmpQueueRequest(session, rPtr);
- sprintf(interp->result, "%d", (int) pdu->request_id);
+ sprintf(res, "%d", (int) pdu->request_id);
+ Tcl_SetResult(interp, res, TCL_VOLATILE);
return TCL_OK;
}
@@ -230,7 +232,8 @@ Tnm_SnmpEncode(interp, session, pdu, pro
if (rc == TCL_CONTINUE) {
if (hexdump) {
- fprintf(stderr, "%s\n", interp->result);
+ fprintf(stderr, "%s\n",
+ Tcl_GetStringResult(interp));
}
continue;
}
@@ -320,7 +323,7 @@ EncodeMessage(interp, session, pdu, pack
p = EncodePDU(interp, session, pdu, p, packetlen);
if (p == NULL) {
- if (*interp->result == '\0') {
+ if (*Tcl_GetStringResult(interp) == '\0') {
Tcl_SetResult(interp, Tnm_BerError(), TCL_STATIC);
}
return TCL_ERROR;
@@ -577,10 +580,10 @@ EncodePDU(interp, session, pdu, packet,
u_char *PDU_len = NULL, *VarBind_len = NULL, *VarBindList_len = NULL;
int i, vblc, vbc;
- char **vblv, **vbv;
-
+ const char **vblv, **vbv;
Tnm_Oid *oid;
int oidlen;
+ char res[64];
/*
* encode pdu type ( tag: [pdu_type] IMPLICIT PDU )
@@ -709,7 +712,7 @@ EncodePDU(interp, session, pdu, packet,
for (i = 0; i < vblc; i++) {
- char *value;
+ const char *value;
int asn1_type = ASN1_OTHER;
/*
@@ -742,7 +745,7 @@ EncodePDU(interp, session, pdu, packet,
if (Tnm_IsOid(vbv[0])) {
oid = Tnm_StrToOid(vbv[0], &oidlen);
} else {
- char *tmp = Tnm_MibGetOid(vbv[0], 0);
+ const char *tmp = Tnm_MibGetOid(vbv[0], 0);
if (! tmp) {
Tcl_ResetResult(interp);
Tcl_AppendResult(interp, "invalid object identifier \"",
@@ -835,7 +838,7 @@ EncodePDU(interp, session, pdu, packet,
{ int int_val, rc;
rc = Tcl_GetInt(interp, value, &int_val);
if (rc != TCL_OK) {
- char *tmp = Tnm_MibScan(vbv[0], 0, value);
+ const char *tmp = Tnm_MibScan(vbv[0], 0, value);
if (tmp && *tmp) {
Tcl_ResetResult(interp);
rc = Tcl_GetInt(interp, tmp, &int_val);
@@ -851,7 +854,7 @@ EncodePDU(interp, session, pdu, packet,
if (sizeof(int) >= 8) {
rc = Tcl_GetInt(interp, value, &int_val);
if (rc != TCL_OK) {
- char *tmp = Tnm_MibScan(vbv[0], 0, value);
+ const char *tmp = Tnm_MibScan(vbv[0], 0, value);
if (tmp && *tmp) {
Tcl_ResetResult(interp);
rc = Tcl_GetInt(interp, tmp, &int_val);
@@ -910,11 +913,11 @@ EncodePDU(interp, session, pdu, packet,
}
break;
case ASN1_OCTET_STRING:
- { char *hex = value;
+ { const char *hex = value;
int len;
static char *bin = NULL;
static int binLen = 0;
- char *scan = Tnm_MibScan(vbv[0], 0, value);
+ const char *scan = Tnm_MibScan(vbv[0], 0, value);
if (scan) hex = scan;
if (*hex) {
len = strlen(hex);
@@ -937,7 +940,7 @@ EncodePDU(interp, session, pdu, packet,
}
break;
case ASN1_OPAQUE:
- { char *hex = value;
+ { const char *hex = value;
int len;
static char *bin = NULL;
static int binLen = 0;
@@ -962,7 +965,7 @@ EncodePDU(interp, session, pdu, packet,
break;
case ASN1_OBJECT_IDENTIFIER:
if (! Tnm_IsOid(value)) {
- char *tmp = Tnm_MibGetOid(value, 0);
+ const char *tmp = Tnm_MibGetOid(value, 0);
if (!tmp) {
Tcl_AppendResult(interp,
"illegal object identifier \"",
@@ -982,8 +985,9 @@ EncodePDU(interp, session, pdu, packet,
packet = Tnm_BerEncNull(packet, packetlen, asn1_type);
break;
default:
- sprintf(interp->result, "unknown asn1 type 0x%.2x",
+ sprintf(res, "unknown asn1 type 0x%.2x",
asn1_type);
+ Tcl_SetResult(interp, res, TCL_VOLATILE);
return NULL;
}
} else {