gpg: Use algorithm id 22 for EdDSA.
[gnupg.git] / common / mischelp.h
index a8b1635..33739e8 100644 (file)
@@ -30,7 +30,7 @@
  */
 
 #ifndef LIBJNLIB_MISCHELP_H
-#define LIBJNLIB_MISCHHELP_H
+#define LIBJNLIB_MISCHELP_H
 
 
 /* Because we can't use the internal jnlib_free macro in inline
@@ -52,12 +52,21 @@ time_t timegm (struct tm *tm);
 #define DIMof(type,member)   DIM(((type *)0)->member)
 
 
+#undef JNLIB_GCC_HAVE_PUSH_PRAGMA
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5 )
 # define JNLIB_GCC_M_FUNCTION 1
 # define JNLIB_GCC_A_NR             __attribute__ ((noreturn))
-# define JNLIB_GCC_A_PRINTF( f, a )  __attribute__ ((format (printf,f,a)))
-# define JNLIB_GCC_A_NR_PRINTF( f, a ) \
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4 )
+#   define JNLIB_GCC_HAVE_PUSH_PRAGMA 1
+#   define JNLIB_GCC_A_PRINTF( f, a ) \
+                    __attribute__ ((format (__gnu_printf__,f,a)))
+#   define JNLIB_GCC_A_NR_PRINTF( f, a ) \
+                   __attribute__ ((noreturn, format (__gnu_printf__,f,a)))
+# else
+#   define JNLIB_GCC_A_PRINTF( f, a )  __attribute__ ((format (printf,f,a)))
+#   define JNLIB_GCC_A_NR_PRINTF( f, a ) \
                            __attribute__ ((noreturn, format (printf,f,a)))
+# endif
 #else
 # define JNLIB_GCC_A_NR
 # define JNLIB_GCC_A_PRINTF( f, a )
@@ -81,6 +90,9 @@ time_t timegm (struct tm *tm);
 # include <sys/socket.h>
 # include <sys/un.h>
 #else
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 # include <windows.h>
 #endif