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