summaryrefslogtreecommitdiffstats
path: root/Modules/cjkcodecs/cjkcodecs.h
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-10-28 23:19:27 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-10-28 23:19:27 (GMT)
commit14c9fea60aa6884586c0a87046b308c2af76d38d (patch)
tree81c61ca9de204a341e7b1e21b4ffa11bb4785e81 /Modules/cjkcodecs/cjkcodecs.h
parent146a2ed0f29a338abe7ea954604ee0f68b35c37f (diff)
downloadcpython-14c9fea60aa6884586c0a87046b308c2af76d38d.zip
cpython-14c9fea60aa6884586c0a87046b308c2af76d38d.tar.gz
cpython-14c9fea60aa6884586c0a87046b308c2af76d38d.tar.bz2
CJK codecs: less magic macros, require explicit semicolon
Diffstat (limited to 'Modules/cjkcodecs/cjkcodecs.h')
-rw-r--r--Modules/cjkcodecs/cjkcodecs.h64
1 files changed, 39 insertions, 25 deletions
diff --git a/Modules/cjkcodecs/cjkcodecs.h b/Modules/cjkcodecs/cjkcodecs.h
index 4a5f0c1..2aedf25 100644
--- a/Modules/cjkcodecs/cjkcodecs.h
+++ b/Modules/cjkcodecs/cjkcodecs.h
@@ -108,24 +108,26 @@ static const struct dbcs_map *mapping_list;
} while (0)
#define NEXT(i, o) \
do { \
- NEXT_INCHAR(i); \
- NEXT_OUT(o); \
+ NEXT_INCHAR(i); \
+ NEXT_OUT(o); \
} while (0)
#define REQUIRE_INBUF(n) \
if (inleft < (n)) \
return MBERR_TOOFEW;
#define REQUIRE_OUTBUF(n) \
- if (outleft < (n)) \
- return MBERR_TOOSMALL;
+ do { \
+ if (outleft < (n)) \
+ return MBERR_TOOSMALL; \
+ } while (0)
#define INBYTE1 ((*inbuf)[0])
#define INBYTE2 ((*inbuf)[1])
#define INBYTE3 ((*inbuf)[2])
#define INBYTE4 ((*inbuf)[3])
-#define INCHAR1 PyUnicode_READ(kind, data, *inpos)
-#define INCHAR2 PyUnicode_READ(kind, data, *inpos + 1)
+#define INCHAR1 (PyUnicode_READ(kind, data, *inpos))
+#define INCHAR2 (PyUnicode_READ(kind, data, *inpos + 1))
#define OUTCHAR(c) \
do { \
@@ -138,35 +140,47 @@ static const struct dbcs_map *mapping_list;
Py_UCS4 _c1 = (c1); \
Py_UCS4 _c2 = (c2); \
if (_PyUnicodeWriter_Prepare(writer, 2, Py_MAX(_c1, c2)) < 0) \
- return MBERR_EXCEPTION; \
+ return MBERR_EXCEPTION; \
PyUnicode_WRITE(writer->kind, writer->data, writer->pos, _c1); \
PyUnicode_WRITE(writer->kind, writer->data, writer->pos + 1, _c2); \
writer->pos += 2; \
} while (0)
-#define OUTBYTE1(c) ((*outbuf)[0]) = (c);
-#define OUTBYTE2(c) ((*outbuf)[1]) = (c);
-#define OUTBYTE3(c) ((*outbuf)[2]) = (c);
-#define OUTBYTE4(c) ((*outbuf)[3]) = (c);
+#define OUTBYTE1(c) \
+ do { ((*outbuf)[0]) = (c); } while (0)
+#define OUTBYTE2(c) \
+ do { ((*outbuf)[1]) = (c); } while (0)
+#define OUTBYTE3(c) \
+ do { ((*outbuf)[2]) = (c); } while (0)
+#define OUTBYTE4(c) \
+ do { ((*outbuf)[3]) = (c); } while (0)
#define WRITEBYTE1(c1) \
- REQUIRE_OUTBUF(1) \
- (*outbuf)[0] = (c1);
+ do { \
+ REQUIRE_OUTBUF(1); \
+ (*outbuf)[0] = (c1); \
+ } while (0)
#define WRITEBYTE2(c1, c2) \
- REQUIRE_OUTBUF(2) \
- (*outbuf)[0] = (c1); \
- (*outbuf)[1] = (c2);
+ do { \
+ REQUIRE_OUTBUF(2); \
+ (*outbuf)[0] = (c1); \
+ (*outbuf)[1] = (c2); \
+ } while (0)
#define WRITEBYTE3(c1, c2, c3) \
- REQUIRE_OUTBUF(3) \
- (*outbuf)[0] = (c1); \
- (*outbuf)[1] = (c2); \
- (*outbuf)[2] = (c3);
+ do { \
+ REQUIRE_OUTBUF(3); \
+ (*outbuf)[0] = (c1); \
+ (*outbuf)[1] = (c2); \
+ (*outbuf)[2] = (c3); \
+ } while (0)
#define WRITEBYTE4(c1, c2, c3, c4) \
- REQUIRE_OUTBUF(4) \
- (*outbuf)[0] = (c1); \
- (*outbuf)[1] = (c2); \
- (*outbuf)[2] = (c3); \
- (*outbuf)[3] = (c4);
+ do { \
+ REQUIRE_OUTBUF(4); \
+ (*outbuf)[0] = (c1); \
+ (*outbuf)[1] = (c2); \
+ (*outbuf)[2] = (c3); \
+ (*outbuf)[3] = (c4); \
+ } while (0)
#define _TRYMAP_ENC(m, assi, val) \
((m)->map != NULL && (val) >= (m)->bottom && \