]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Improve handling of _getshort and _getlong.
authorDarren Tucker <dtucker@dtucker.net>
Fri, 25 Feb 2022 08:47:48 +0000 (19:47 +1100)
committerDarren Tucker <dtucker@dtucker.net>
Fri, 25 Feb 2022 08:47:48 +0000 (19:47 +1100)
If the system native ones are exactly as required then use them,
otherwise use the local versions mapped to another name to prevent
name collisions.

openbsd-compat/getrrsetbyname.c

index caadceb64a455a31d61bb1afef2036e1800a301c..cc1f8ae519ebe8747acd2189fa6cf081f4c3f84b 100644 (file)
@@ -109,11 +109,18 @@ struct __res_state _res;
 }
 #endif
 
+/*
+ * If the system doesn't have _getshort/_getlong or that are not exactly what
+ * we need then use local replacements, avoiding name collisions.
+ */
+#if !defined(HAVE__GETSHORT) || !defined(HAVE__GETLONG) || \
+    !defined(HAVE_DECL__GETSHORT) || HAVE_DECL__GETSHORT == 0 || \
+    !defined(HAVE_DECL__GETLONG) || HAVE_DECL__GETLONG == 0
+#define _getshort(x) (_ssh_compat_getshort(x))
+#define _getlong(x) (_ssh_compat_getlong(x))
 /*
  * Routines to insert/extract short/long's.
  */
-
-#ifndef HAVE__GETSHORT
 static u_int16_t
 _getshort(const u_char *msgp)
 {
@@ -122,11 +129,7 @@ _getshort(const u_char *msgp)
        GETSHORT(u, msgp);
        return (u);
 }
-#elif defined(HAVE_DECL__GETSHORT) && (HAVE_DECL__GETSHORT == 0)
-u_int16_t _getshort(const u_char *);
-#endif
 
-#ifndef HAVE__GETLONG
 static u_int32_t
 _getlong(const u_char *msgp)
 {
@@ -135,8 +138,6 @@ _getlong(const u_char *msgp)
        GETLONG(u, msgp);
        return (u);
 }
-#elif defined(HAVE_DECL__GETLONG) && (HAVE_DECL__GETLONG == 0)
-u_int32_t _getlong(const u_char *);
 #endif
 
 /* ************** */