gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libmicrohttpd] 02/03: Added attributes for enums


From: gnunet
Subject: [libmicrohttpd] 02/03: Added attributes for enums
Date: Mon, 21 Jun 2021 12:45:14 +0200

This is an automated email from the git hooks/post-receive script.

karlson2k pushed a commit to branch master
in repository libmicrohttpd.

commit aec976ee2f2a8105caa8040e55c5d3bf8ed434a1
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
AuthorDate: Mon Jun 21 13:39:37 2021 +0300

    Added attributes for enums
---
 src/include/microhttpd.h  | 51 ++++++++++++++++++++++++++++++++---------------
 src/microhttpd/daemon.c   |  2 +-
 src/microhttpd/internal.h | 16 +++++++--------
 3 files changed, 44 insertions(+), 25 deletions(-)

diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h
index b9ea600d..6e266751 100644
--- a/src/include/microhttpd.h
+++ b/src/include/microhttpd.h
@@ -132,6 +132,25 @@ typedef intptr_t ssize_t;
  */
 #define MHD_VERSION 0x00097302
 
+
+#ifdef __has_attribute
+#if __has_attribute (flag_enum)
+#define _MHD_FLAGS_ENUM __attribute__((flag_enum))
+#endif /* flag_enum */
+#if __has_attribute (enum_extensibility)
+#define _MHD_FIXED_ENUM __attribute__((enum_extensibility(closed)))
+#endif /* enum_extensibility */
+#endif /* __has_attribute */
+
+#ifndef _MHD_FLAGS_ENUM
+#define _MHD_FLAGS_ENUM
+#endif /* _MHD_FLAGS_ENUM */
+#ifndef _MHD_FIXED_ENUM
+#define _MHD_FIXED_ENUM
+#endif /* _MHD_FIXED_ENUM */
+
+#define _MHD_FIXED_FLAGS_ENUM _MHD_FIXED_ENUM _MHD_FLAGS_ENUM
+
 /**
  * Operational results from MHD calls.
  */
@@ -147,7 +166,7 @@ enum MHD_Result
    */
   MHD_YES = 1
 
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -1748,7 +1767,7 @@ enum MHD_OPTION
    * @note Available since #MHD_VERSION 0x00097207
    */
   MHD_OPTION_TLS_NO_ALPN = 34
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -1762,7 +1781,7 @@ enum MHD_DisableSanityCheck
    */
   MHD_DSC_SANE = 0
 
-};
+} _MHD_FIXED_FLAGS_ENUM;
 
 
 /**
@@ -1839,7 +1858,7 @@ enum MHD_ValueKind
    * HTTP footer (only for HTTP 1.1 chunked encodings).
    */
   MHD_FOOTER_KIND = 16
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -1897,7 +1916,7 @@ enum MHD_RequestTerminationCode
    */
   MHD_REQUEST_TERMINATED_CLIENT_ABORT = 5
 
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -1920,7 +1939,7 @@ enum MHD_ConnectionNotificationCode
    */
   MHD_CONNECTION_NOTIFY_CLOSED = 1
 
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -2093,7 +2112,7 @@ enum MHD_ConnectionInfoType
    * @ingroup request
    */
   MHD_CONNECTION_INFO_REQUEST_HEADER_SIZE
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -2156,7 +2175,7 @@ enum MHD_DaemonInfoType
    * value will be real port number.
    */
   MHD_DAEMON_INFO_BIND_PORT
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -3096,7 +3115,7 @@ enum MHD_ResponseFlags
   MHD_RF_INSANITY_HEADER_CONTENT_LENGTH = 4
 
 
-};
+} _MHD_FIXED_FLAGS_ENUM;
 
 
 /**
@@ -3108,7 +3127,7 @@ enum MHD_ResponseOptions
    * End of the list of options.
    */
   MHD_RO_END = 0
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -3204,7 +3223,7 @@ enum MHD_ResponseMemoryMode
    */
   MHD_RESPMEM_MUST_COPY
 
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -3476,7 +3495,7 @@ enum MHD_UpgradeAction
    */
   MHD_UPGRADE_ACTION_CORK_OFF = 2
 
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -3830,7 +3849,7 @@ enum MHD_DigestAuthAlgorithm
    */
   MHD_DIGEST_ALG_SHA256
 
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -4054,7 +4073,7 @@ enum MHD_CONNECTION_OPTION
    */
   MHD_CONNECTION_OPTION_TIMEOUT
 
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -4317,7 +4336,7 @@ enum MHD_FEATURE
    * supported.
    */
   MHD_FEATURE_HTTPS_CERT_CALLBACK2 = 23
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -4335,10 +4354,10 @@ _MHD_EXTERN enum MHD_Result
 MHD_is_feature_supported (enum MHD_FEATURE feature);
 
 
+#ifdef __cplusplus
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
 #endif
-#ifdef __cplusplus
 }
 #endif
 
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index d6042356..26940bf9 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -6455,7 +6455,7 @@ MHD_start_daemon_va (unsigned int flags,
     *pflags |= MHD_USE_INTERNAL_POLLING_THREAD;
   }
   if (0 == (*pflags & MHD_USE_INTERNAL_POLLING_THREAD))
-    *pflags &= ~MHD_USE_ITC; /* useless if we are using 'external' select */
+    *pflags = (*pflags & ~MHD_USE_ITC); /* useless if we are using 'external' 
select */
   else
   {
 #ifdef HAVE_LISTEN_SHUTDOWN
diff --git a/src/microhttpd/internal.h b/src/microhttpd/internal.h
index 2338c0ee..5821011b 100644
--- a/src/microhttpd/internal.h
+++ b/src/microhttpd/internal.h
@@ -177,7 +177,7 @@ enum MHD_tristate
   _MHD_NO      = false, /**< State is "off" / "disabled" */
   _MHD_ON      = true,  /**< State is "on"  / "enabled" */
   _MHD_YES     = true   /**< State is "on"  / "enabled" */
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -223,7 +223,7 @@ enum MHD_EpollState
    * Is this connection in some error state?
    */
   MHD_EPOLL_STATE_ERROR = 128
-};
+} _MHD_FIXED_FLAGS_ENUM;
 
 
 /**
@@ -250,7 +250,7 @@ enum MHD_ConnectionEventLoopInfo
    * We are finished and are awaiting cleanup.
    */
   MHD_EVENT_LOOP_INFO_CLEANUP = 3
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -657,7 +657,7 @@ enum MHD_CONNECTION_STATE
   MHD_CONNECTION_UPGRADE
 #endif /* UPGRADE_SUPPORT */
 
-};
+} _MHD_FIXED_ENUM;
 
 
 /**
@@ -675,7 +675,7 @@ enum MHD_TLS_CONN_STATE
   MHD_TLS_CONN_TLS_CLOSED,  /**< TLS session is terminated.             */
   MHD_TLS_CONN_TLS_FAILED,  /**< TLS session failed.                    */
   MHD_TLS_CONN_INVALID_STATE/**< Sentinel. Not a valid value.           */
-};
+} _MHD_FIXED_ENUM;
 
 /**
  * Should all state transitions be printed to stderr?
@@ -738,7 +738,7 @@ enum MHD_ConnKeepAlive
    * Connection can be used for serving next request
    */
   MHD_CONN_USE_KEEPALIVE = 1
-};
+} _MHD_FIXED_ENUM;
 
 enum MHD_HTTP_Version
 {
@@ -776,7 +776,7 @@ enum MHD_HTTP_Version
    * HTTP future version. Unsupported.
    */
   MHD_HTTP_VER_FUTURE = 100
-};
+} _MHD_FIXED_ENUM;
 
 /**
  * Returns boolean 'true' if HTTP version is supported by MHD
@@ -840,7 +840,7 @@ enum MHD_HTTP_Method
    * Other HTTP method. Check the string value.
    */
   MHD_HTTP_MTHD_OTHER = 1000
-};
+} _MHD_FIXED_ENUM;
 
 /**
  * State kept for each HTTP request.

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]