a3d047d839
function. - patch from http://net-snmp.cvs.sourceforge.net/net-snmp/net-snmp/perl/SNMP/SNMP.xs?r1=5.50.2.6&r2=5.50.2.7&view=patch&pathrev=V5-3-patches - revision log http://net-snmp.cvs.sourceforge.net/net-snmp/net-snmp/perl/SNMP/SNMP.xs?view=log&pathrev=V5-3-patches#rev5.50.2.7 - bug reference http://sourceforge.net/tracker/?func=detail&atid=112694&aid=1533078&group_id=12694 Bump PKGREVISION to 2
178 lines
6.2 KiB
Text
178 lines
6.2 KiB
Text
$NetBSD: patch-em,v 1.2 2006/10/18 22:37:46 seb Exp $
|
|
|
|
This contains local (pkgsrc) LP64 patches as well as
|
|
http://net-snmp.cvs.sourceforge.net/net-snmp/net-snmp/perl/SNMP/SNMP.xs?r1=5.50.2.6&r2=5.50.2.7&view=patch&pathrev=V5-3-patches
|
|
|
|
--- perl/SNMP/SNMP.xs.orig 2006-05-26 16:59:15.000000000 +0000
|
|
+++ perl/SNMP/SNMP.xs
|
|
@@ -117,15 +117,15 @@ static int __snprint_value _((char *, si
|
|
netsnmp_variable_list*, struct tree *,
|
|
int, int));
|
|
static int __sprint_num_objid _((char *, oid *, int));
|
|
-static int __scan_num_objid _((char *, oid *, int *));
|
|
+static int __scan_num_objid _((char *, oid *, size_t *));
|
|
static int __get_type_str _((int, char *));
|
|
static int __get_label_iid _((char *, char **, char **, int));
|
|
static int __oid_cmp _((oid *, int, oid *, int));
|
|
static int __tp_sprint_num_objid _((char*,SnmpMibNode *));
|
|
static SnmpMibNode * __get_next_mib_node _((SnmpMibNode *));
|
|
static struct tree * __oid2tp _((oid*, int, struct tree *, int*));
|
|
-static struct tree * __tag2oid _((char *, char *, oid *, int *, int *, int));
|
|
-static int __concat_oid_str _((oid *, int *, char *));
|
|
+static struct tree * __tag2oid _((char *, char *, oid *, size_t *, int *, int));
|
|
+static int __concat_oid_str _((oid *, size_t *, char *));
|
|
static int __add_var_val_str _((netsnmp_pdu *, oid *, int, char *,
|
|
int, int));
|
|
static int __send_sync_pdu _((netsnmp_session *, netsnmp_pdu *,
|
|
@@ -583,7 +583,7 @@ static int
|
|
__scan_num_objid (buf, objid, len)
|
|
char *buf;
|
|
oid *objid;
|
|
-int *len;
|
|
+size_t *len;
|
|
{
|
|
char *cp;
|
|
*len = 0;
|
|
@@ -874,14 +874,14 @@ __tag2oid(tag, iid, oid_arr, oid_arr_len
|
|
char * tag;
|
|
char * iid;
|
|
oid * oid_arr;
|
|
-int * oid_arr_len;
|
|
+size_t * oid_arr_len;
|
|
int * type;
|
|
int best_guess;
|
|
{
|
|
struct tree *tp = NULL;
|
|
struct tree *rtp = NULL;
|
|
oid newname[MAX_OID_LEN], *op;
|
|
- int newname_len = 0;
|
|
+ size_t newname_len = 0;
|
|
const char *cp = NULL;
|
|
char *module = NULL;
|
|
|
|
@@ -1022,7 +1022,7 @@ found:
|
|
static int
|
|
__concat_oid_str(doid_arr, doid_arr_len, soid_str)
|
|
oid *doid_arr;
|
|
-int *doid_arr_len;
|
|
+size_t *doid_arr_len;
|
|
char * soid_str;
|
|
{
|
|
char soid_buf[STR_BUF_SIZE];
|
|
@@ -1911,7 +1911,7 @@ _bulkwalk_send_pdu(walk_context *context
|
|
** we sent in this request. Note that this is not a valid SNMP PDU,
|
|
** but that's because a response has not yet been received.
|
|
*/
|
|
- return (netsnmp_pdu *)reqid;
|
|
+ return (netsnmp_pdu *)(long)reqid;
|
|
}
|
|
|
|
/* This code is for synchronous mode support.
|
|
@@ -2320,6 +2320,8 @@ _bulkwalk_finish(walk_context *context,
|
|
SV **err_num_svp = hv_fetch((HV*)SvRV(context->sess_ref), "ErrorNum", 8, 1);
|
|
|
|
dSP;
|
|
+ dMARK;
|
|
+ dITEMS;
|
|
|
|
async = SvTRUE(context->perl_cb);
|
|
|
|
@@ -2328,6 +2330,8 @@ _bulkwalk_finish(walk_context *context,
|
|
** items pushed onto the stack. For async, create a new array and push
|
|
** the references onto it. The array is then passed to the Perl callback.
|
|
*/
|
|
+ if(!async)
|
|
+ SP -= items;
|
|
|
|
DBPRT(1, (DBOUT "Bulwalk %s (saved %d/%d), ", okay ? "completed" : "had error",
|
|
context->oid_saved, context->oid_total));
|
|
@@ -3006,7 +3010,7 @@ snmp_set(sess_ref, varlist_ref, perl_cal
|
|
netsnmp_pdu *pdu, *response;
|
|
struct tree *tp;
|
|
oid *oid_arr;
|
|
- int oid_arr_len = MAX_OID_LEN;
|
|
+ size_t oid_arr_len = MAX_OID_LEN;
|
|
char *tag_pv;
|
|
snmp_xs_cb_data *xs_cb_data;
|
|
SV **sess_ptr_sv;
|
|
@@ -3207,7 +3211,7 @@ snmp_get(sess_ref, retry_nosuch, varlist
|
|
struct tree *tp;
|
|
int len;
|
|
oid *oid_arr;
|
|
- int oid_arr_len = MAX_OID_LEN;
|
|
+ size_t oid_arr_len = MAX_OID_LEN;
|
|
SV *tmp_sv;
|
|
int type;
|
|
char tmp_type_str[MAX_TYPE_NAME_LEN];
|
|
@@ -3425,7 +3429,7 @@ snmp_getnext(sess_ref, varlist_ref, perl
|
|
struct tree *tp;
|
|
int len;
|
|
oid *oid_arr;
|
|
- int oid_arr_len = MAX_OID_LEN;
|
|
+ size_t oid_arr_len = MAX_OID_LEN;
|
|
SV *tmp_sv;
|
|
int type;
|
|
char tmp_type_str[MAX_TYPE_NAME_LEN];
|
|
@@ -3669,7 +3673,7 @@ snmp_getbulk(sess_ref, nonrepeaters, max
|
|
struct tree *tp;
|
|
int len;
|
|
oid *oid_arr;
|
|
- int oid_arr_len = MAX_OID_LEN;
|
|
+ size_t oid_arr_len = MAX_OID_LEN;
|
|
SV *tmp_sv;
|
|
int type;
|
|
char tmp_type_str[MAX_TYPE_NAME_LEN];
|
|
@@ -3897,7 +3901,7 @@ snmp_bulkwalk(sess_ref, nonrepeaters, ma
|
|
netsnmp_session *ss;
|
|
netsnmp_pdu *pdu = NULL;
|
|
oid oid_arr[MAX_OID_LEN];
|
|
- int oid_arr_len;
|
|
+ size_t oid_arr_len;
|
|
SV **sess_ptr_sv;
|
|
SV **err_str_svp;
|
|
SV **err_num_svp;
|
|
@@ -4115,7 +4119,7 @@ snmp_bulkwalk(sess_ref, nonrepeaters, ma
|
|
/* Sent okay... Return the request ID in 'pdu' as an SvIV. */
|
|
DBPRT(1,(DBOUT "Okay, request id is %d\n", (intptr_t) pdu));
|
|
/* XSRETURN_IV((intptr_t)pdu); */
|
|
- XPUSHs(sv_2mortal(newSViv(pdu)));
|
|
+ XPUSHs(sv_2mortal(newSViv((intptr_t)pdu)));
|
|
XSRETURN(1);
|
|
}
|
|
|
|
@@ -4208,7 +4212,7 @@ snmp_trapV1(sess_ref,enterprise,agent,ge
|
|
netsnmp_pdu *pdu = NULL;
|
|
struct tree *tp;
|
|
oid *oid_arr;
|
|
- int oid_arr_len = MAX_OID_LEN;
|
|
+ size_t oid_arr_len = MAX_OID_LEN;
|
|
SV **sess_ptr_sv;
|
|
SV **err_str_svp;
|
|
SV **err_num_svp;
|
|
@@ -4347,7 +4351,7 @@ snmp_trapV2(sess_ref,uptime,trap_oid,var
|
|
netsnmp_pdu *pdu = NULL;
|
|
struct tree *tp;
|
|
oid *oid_arr;
|
|
- int oid_arr_len = MAX_OID_LEN;
|
|
+ size_t oid_arr_len = MAX_OID_LEN;
|
|
SV **sess_ptr_sv;
|
|
SV **err_str_svp;
|
|
SV **err_num_svp;
|
|
@@ -4484,7 +4488,7 @@ snmp_inform(sess_ref,uptime,trap_oid,var
|
|
netsnmp_pdu *response;
|
|
struct tree *tp;
|
|
oid *oid_arr;
|
|
- int oid_arr_len = MAX_OID_LEN;
|
|
+ size_t oid_arr_len = MAX_OID_LEN;
|
|
snmp_xs_cb_data *xs_cb_data;
|
|
SV **sess_ptr_sv;
|
|
SV **err_str_svp;
|
|
@@ -4715,7 +4719,7 @@ snmp_translate_obj(var,mode,use_long,aut
|
|
char str_buf[STR_BUF_SIZE];
|
|
char str_buf_temp[STR_BUF_SIZE];
|
|
oid oid_arr[MAX_OID_LEN];
|
|
- int oid_arr_len = MAX_OID_LEN;
|
|
+ size_t oid_arr_len = MAX_OID_LEN;
|
|
char * label;
|
|
char * iid;
|
|
int status = FAILURE;
|