[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.