summaryrefslogtreecommitdiff
path: root/fltrimpl.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2015-11-05 01:59:46 -0500
committerJeffrey Walton <noloader@gmail.com>2015-11-05 01:59:46 -0500
commit48809d4e85c125814425c621d8d0d89f95405924 (patch)
tree1010fd16c4b1199f3d27dd726dda241a2bd29f83 /fltrimpl.h
parent025337a94aceb75d188149db70c2094673772816 (diff)
downloadcryptopp-git-48809d4e85c125814425c621d8d0d89f95405924.tar.gz
CRYPTOPP 5.6.3 RC6 checkin
Diffstat (limited to 'fltrimpl.h')
-rw-r--r--fltrimpl.h154
1 files changed, 85 insertions, 69 deletions
diff --git a/fltrimpl.h b/fltrimpl.h
index 151526e9..957c1bcc 100644
--- a/fltrimpl.h
+++ b/fltrimpl.h
@@ -1,69 +1,85 @@
-#ifndef CRYPTOPP_FLTRIMPL_H
-#define CRYPTOPP_FLTRIMPL_H
-
-#include "trap.h"
-
-#define FILTER_BEGIN \
- switch (m_continueAt) \
- { \
- case 0: \
- m_inputPosition = 0;
-
-#define FILTER_END_NO_MESSAGE_END_NO_RETURN \
- break; \
- default: \
- CRYPTOPP_ASSERT(false); \
- }
-
-#define FILTER_END_NO_MESSAGE_END \
- FILTER_END_NO_MESSAGE_END_NO_RETURN \
- return 0;
-
-/*
-#define FILTER_END \
- case -1: \
- if (messageEnd && Output(-1, NULL, 0, messageEnd, blocking)) \
- return 1; \
- FILTER_END_NO_MESSAGE_END
-*/
-
-#define FILTER_OUTPUT3(site, statement, output, length, messageEnd, channel) \
- {\
- case site: \
- statement; \
- if (Output(site, output, length, messageEnd, blocking, channel)) \
- return STDMAX(size_t(1), length-m_inputPosition);\
- }
-
-#define FILTER_OUTPUT2(site, statement, output, length, messageEnd) \
- FILTER_OUTPUT3(site, statement, output, length, messageEnd, DEFAULT_CHANNEL)
-
-#define FILTER_OUTPUT(site, output, length, messageEnd) \
- FILTER_OUTPUT2(site, 0, output, length, messageEnd)
-
-#define FILTER_OUTPUT_BYTE(site, output) \
- FILTER_OUTPUT(site, &(const byte &)(byte)output, 1, 0)
-
-#define FILTER_OUTPUT2_MODIFIABLE(site, statement, output, length, messageEnd) \
- {\
- case site: \
- statement; \
- if (OutputModifiable(site, output, length, messageEnd, blocking)) \
- return STDMAX(size_t(1), length-m_inputPosition);\
- }
-
-#define FILTER_OUTPUT_MODIFIABLE(site, output, length, messageEnd) \
- FILTER_OUTPUT2_MODIFIABLE(site, 0, output, length, messageEnd)
-
-#define FILTER_OUTPUT2_MAYBE_MODIFIABLE(site, statement, output, length, messageEnd, modifiable) \
- {\
- case site: \
- statement; \
- if (modifiable ? OutputModifiable(site, output, length, messageEnd, blocking) : Output(site, output, length, messageEnd, blocking)) \
- return STDMAX(size_t(1), length-m_inputPosition);\
- }
-
-#define FILTER_OUTPUT_MAYBE_MODIFIABLE(site, output, length, messageEnd, modifiable) \
- FILTER_OUTPUT2_MAYBE_MODIFIABLE(site, 0, output, length, messageEnd, modifiable)
-
-#endif
+#ifndef CRYPTOPP_FLTRIMPL_H
+#define CRYPTOPP_FLTRIMPL_H
+
+#if CRYPTOPP_MSC_VERSION
+# pragma warning(push)
+# pragma warning(disable: 4100)
+#endif
+
+#if CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wunused-value"
+#endif
+
+#define FILTER_BEGIN \
+ switch (m_continueAt) \
+ { \
+ case 0: \
+ m_inputPosition = 0;
+
+#define FILTER_END_NO_MESSAGE_END_NO_RETURN \
+ break; \
+ default: \
+ assert(false); \
+ }
+
+#define FILTER_END_NO_MESSAGE_END \
+ FILTER_END_NO_MESSAGE_END_NO_RETURN \
+ return 0;
+
+/*
+#define FILTER_END \
+ case -1: \
+ if (messageEnd && Output(-1, NULL, 0, messageEnd, blocking)) \
+ return 1; \
+ FILTER_END_NO_MESSAGE_END
+*/
+
+#define FILTER_OUTPUT3(site, statement, output, length, messageEnd, channel) \
+ {\
+ case site: \
+ statement; \
+ if (Output(site, output, length, messageEnd, blocking, channel)) \
+ return STDMAX(size_t(1), length-m_inputPosition);\
+ }
+
+#define FILTER_OUTPUT2(site, statement, output, length, messageEnd) \
+ FILTER_OUTPUT3(site, statement, output, length, messageEnd, DEFAULT_CHANNEL)
+
+#define FILTER_OUTPUT(site, output, length, messageEnd) \
+ FILTER_OUTPUT2(site, 0, output, length, messageEnd)
+
+#define FILTER_OUTPUT_BYTE(site, output) \
+ FILTER_OUTPUT(site, &(const byte &)(byte)output, 1, 0)
+
+#define FILTER_OUTPUT2_MODIFIABLE(site, statement, output, length, messageEnd) \
+ {\
+ case site: \
+ statement; \
+ if (OutputModifiable(site, output, length, messageEnd, blocking)) \
+ return STDMAX(size_t(1), length-m_inputPosition);\
+ }
+
+#define FILTER_OUTPUT_MODIFIABLE(site, output, length, messageEnd) \
+ FILTER_OUTPUT2_MODIFIABLE(site, 0, output, length, messageEnd)
+
+#define FILTER_OUTPUT2_MAYBE_MODIFIABLE(site, statement, output, length, messageEnd, modifiable) \
+ {\
+ case site: \
+ statement; \
+ if (modifiable ? OutputModifiable(site, output, length, messageEnd, blocking) : Output(site, output, length, messageEnd, blocking)) \
+ return STDMAX(size_t(1), length-m_inputPosition);\
+ }
+
+#define FILTER_OUTPUT_MAYBE_MODIFIABLE(site, output, length, messageEnd, modifiable) \
+ FILTER_OUTPUT2_MAYBE_MODIFIABLE(site, 0, output, length, messageEnd, modifiable)
+
+#if CRYPTOPP_MSC_VERSION
+# pragma warning(pop)
+#endif
+
+#if CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE
+# pragma GCC diagnostic pop
+#endif
+
+#endif