Juan Lang : inetmib1: Use a helper function to set the Oid with an integer instance.
Alexandre Julliard
julliard at winehq.org
Wed Jun 25 16:44:44 CDT 2008
Module: wine
Branch: master
Commit: 81b0db24930aa3959d1e7a59b9431c0f07abbe9d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=81b0db24930aa3959d1e7a59b9431c0f07abbe9d
Author: Juan Lang <juan.lang at gmail.com>
Date: Wed Jun 25 09:38:27 2008 -0700
inetmib1: Use a helper function to set the Oid with an integer instance.
---
dlls/inetmib1/main.c | 45 +++++++++++++++++----------------------------
1 files changed, 17 insertions(+), 28 deletions(-)
diff --git a/dlls/inetmib1/main.c b/dlls/inetmib1/main.c
index 3ce7b6c..c6a2695 100644
--- a/dlls/inetmib1/main.c
+++ b/dlls/inetmib1/main.c
@@ -450,6 +450,19 @@ static void setOidWithItemAndIpAddr(AsnObjectIdentifier *dst,
}
}
+static void setOidWithItemAndInteger(AsnObjectIdentifier *dst,
+ AsnObjectIdentifier *base, UINT item, UINT instance)
+{
+ AsnObjectIdentifier oid;
+
+ SnmpUtilOidCpy(dst, base);
+ oid.idLength = 1;
+ oid.ids = &item;
+ SnmpUtilOidAppend(dst, &oid);
+ oid.ids = &instance;
+ SnmpUtilOidAppend(dst, &oid);
+}
+
static struct structToAsnValue mib2IfEntryMap[] = {
{ FIELD_OFFSET(MIB_IFROW, dwIndex), copyInt },
{ FIELD_OFFSET(MIB_IFROW, dwDescrLen), copyLengthPrecededString },
@@ -514,23 +527,8 @@ static BOOL mib2IfEntryQuery(BYTE bPduType, SnmpVarBind *pVarBind,
&ifTable->table[tableIndex - 1], item, bPduType,
pVarBind);
if (bPduType == SNMP_PDU_GETNEXT)
- {
- AsnObjectIdentifier oid;
-
- SnmpUtilOidCpy(&pVarBind->name, &entryOid);
- oid.idLength = 1;
- oid.ids = &item;
- SnmpUtilOidAppend(&pVarBind->name, &oid);
- /* According to RFC1158, the value of the interface
- * index must vary between 1 and ifNumber (the number
- * of interfaces), so use the 1-based table index
- * directly, rather than assuming that IPHlpApi's
- * dwIndex will have the correct range.
- */
- oid.idLength = 1;
- oid.ids = &tableIndex;
- SnmpUtilOidAppend(&pVarBind->name, &oid);
- }
+ setOidWithItemAndInteger(&pVarBind->name, &entryOid,
+ item, tableIndex);
}
}
}
@@ -804,17 +802,8 @@ static BOOL mib2IpNetQuery(BYTE bPduType, SnmpVarBind *pVarBind,
DEFINE_SIZEOF(mib2IpNetMap),
&ipNetTable[tableIndex - 1], item, bPduType, pVarBind);
if (!*pErrorStatus && bPduType == SNMP_PDU_GETNEXT)
- {
- AsnObjectIdentifier oid;
-
- SnmpUtilOidCpy(&pVarBind->name, &myOid);
- oid.idLength = 1;
- oid.ids = &item;
- SnmpUtilOidAppend(&pVarBind->name, &oid);
- oid.idLength = 1;
- oid.ids = &tableIndex;
- SnmpUtilOidAppend(&pVarBind->name, &oid);
- }
+ setOidWithItemAndInteger(&pVarBind->name, &myOid, item,
+ tableIndex);
}
}
}
More information about the wine-cvs
mailing list