From 0fb70c6d8e07f4485807559f746741780cd50e1a Mon Sep 17 00:00:00 2001 From: Juan Lang <juan.lang@gmail.com> Date: Wed, 25 Jun 2008 09:39:03 -0700 Subject: [PATCH] inetmib1: Use a helper function to set the Oid with an item. --- dlls/inetmib1/main.c | 50 +++++++++++++++++--------------------------- 1 file changed, 19 insertions(+), 31 deletions(-) diff --git a/dlls/inetmib1/main.c b/dlls/inetmib1/main.c index c6a269564cb..48fad9db9a7 100644 --- a/dlls/inetmib1/main.c +++ b/dlls/inetmib1/main.c @@ -431,11 +431,10 @@ static AsnInteger32 getItemAndIpAddressInstanceFromOid(AsnObjectIdentifier *oid, return ret; } -static void setOidWithItemAndIpAddr(AsnObjectIdentifier *dst, - AsnObjectIdentifier *base, UINT item, DWORD addr) +static void setOidWithItem(AsnObjectIdentifier *dst, AsnObjectIdentifier *base, + UINT item) { UINT id; - BYTE *ptr; AsnObjectIdentifier oid; SnmpUtilOidCpy(dst, base); @@ -443,6 +442,18 @@ static void setOidWithItemAndIpAddr(AsnObjectIdentifier *dst, oid.ids = &id; id = item; SnmpUtilOidAppend(dst, &oid); +} + +static void setOidWithItemAndIpAddr(AsnObjectIdentifier *dst, + AsnObjectIdentifier *base, UINT item, DWORD addr) +{ + UINT id; + BYTE *ptr; + AsnObjectIdentifier oid; + + setOidWithItem(dst, base, item); + oid.idLength = 1; + oid.ids = &id; for (ptr = (BYTE *)&addr; ptr < (BYTE *)&addr + sizeof(DWORD); ptr++) { id = *ptr; @@ -455,10 +466,8 @@ static void setOidWithItemAndInteger(AsnObjectIdentifier *dst, { AsnObjectIdentifier oid; - SnmpUtilOidCpy(dst, base); + setOidWithItem(dst, base, item); oid.idLength = 1; - oid.ids = &item; - SnmpUtilOidAppend(dst, &oid); oid.ids = &instance; SnmpUtilOidAppend(dst, &oid); } @@ -597,14 +606,7 @@ static BOOL mib2IpStatsQuery(BYTE bPduType, SnmpVarBind *pVarBind, *pErrorStatus = mapStructEntryToValue(mib2IpMap, DEFINE_SIZEOF(mib2IpMap), &ipStats, 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); - } + setOidWithItem(&pVarBind->name, &myOid, item); } break; case SNMP_PDU_SET: @@ -875,15 +877,8 @@ static BOOL mib2IcmpQuery(BYTE bPduType, SnmpVarBind *pVarBind, *pErrorStatus = mapStructEntryToValue(mib2IcmpMap, DEFINE_SIZEOF(mib2IcmpMap), &icmpStats, item, bPduType, pVarBind); - if (!*pErrorStatus) - { - AsnObjectIdentifier oid; - - SnmpUtilOidCpy(&pVarBind->name, &myOid); - oid.idLength = 1; - oid.ids = &item; - SnmpUtilOidAppend(&pVarBind->name, &oid); - } + if (!*pErrorStatus && bPduType == SNMP_PDU_GETNEXT) + setOidWithItem(&pVarBind->name, &myOid, item); } break; case SNMP_PDU_SET: @@ -942,14 +937,7 @@ static BOOL mib2TcpQuery(BYTE bPduType, SnmpVarBind *pVarBind, *pErrorStatus = mapStructEntryToValue(mib2TcpMap, DEFINE_SIZEOF(mib2TcpMap), &tcpStats, 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); - } + setOidWithItem(&pVarBind->name, &myOid, item); } break; case SNMP_PDU_SET: -- GitLab