Apparently base-gcc doesn't like having OID() inside MIBDECL(). Handroll
authormartijn <martijn@openbsd.org>
Mon, 13 Nov 2023 15:05:14 +0000 (15:05 +0000)
committermartijn <martijn@openbsd.org>
Mon, 13 Nov 2023 15:05:14 +0000 (15:05 +0000)
the OID() logic into MIBDECL().

Found, tested, and OK jca@
OK tb@

usr.sbin/snmpd/snmpd.h

index b1ecd5c..5047203 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: snmpd.h,v 1.113 2023/11/12 20:14:39 martijn Exp $     */
+/*     $OpenBSD: snmpd.h,v 1.114 2023/11/13 15:05:14 martijn Exp $     */
 
 /*
  * Copyright (c) 2007, 2008, 2012 Reyk Floeter <reyk@openbsd.org>
@@ -176,7 +176,8 @@ struct privsep_fd {
 
 #define OID(...)               (struct ber_oid){ { __VA_ARGS__ },      \
     (sizeof((uint32_t []) { __VA_ARGS__ }) / sizeof(uint32_t)) }
-#define MIBDECL(...)           OID(MIB_##__VA_ARGS__), #__VA_ARGS__
+#define MIBDECL(...)           { { MIB_##__VA_ARGS__ },                \
+    (sizeof((uint32_t []) { MIB_##__VA_ARGS__ }) / sizeof(uint32_t))}, #__VA_ARGS__
 #define MIB(...)               { { MIB_##__VA_ARGS__ } }, NULL
 #define MIBEND                 { { 0 } }, NULL