Skip to content

Commit 65af110

Browse files
Hide ugly code in macro
1 parent 605c4fb commit 65af110

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

Modules/cjkcodecs/_codecs_iso2022.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1124,7 +1124,7 @@ BEGIN_MAPPINGS_LIST(0)
11241124
END_MAPPINGS_LIST
11251125

11261126
#define ISO2022_CODEC(variation) \
1127-
st->codec_list[idx++] = (MultibyteCodec){ \
1127+
NEXT_CODEC = (MultibyteCodec){ \
11281128
"iso2022_" #variation, \
11291129
&iso2022_##variation##_config, \
11301130
iso2022_codec_init, \

Modules/cjkcodecs/_codecs_jp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -748,7 +748,7 @@ BEGIN_MAPPINGS_LIST(11)
748748
END_MAPPINGS_LIST
749749

750750
#define CODEC_CUSTOM(NAME, N, METH) \
751-
st->codec_list[idx++] = (MultibyteCodec){NAME, (void *)N, NULL, _STATELESS_METHODS(METH)};
751+
NEXT_CODEC = (MultibyteCodec){NAME, (void *)N, NULL, _STATELESS_METHODS(METH)};
752752

753753
BEGIN_CODECS_LIST(7)
754754
CODEC_STATELESS(shift_jis)

Modules/cjkcodecs/cjkcodecs.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -261,12 +261,15 @@ add_codecs(cjkcodecs_module_state *st) \
261261
enc##_encode, NULL, NULL, \
262262
enc##_decode, NULL, NULL,
263263

264+
#define NEXT_CODEC \
265+
st->codec_list[idx++]
266+
264267
#define CODEC_STATEFUL(enc) \
265-
st->codec_list[idx++] = (MultibyteCodec){#enc, NULL, NULL, _STATEFUL_METHODS(enc)};
268+
NEXT_CODEC = (MultibyteCodec){#enc, NULL, NULL, _STATEFUL_METHODS(enc)};
266269
#define CODEC_STATELESS(enc) \
267-
st->codec_list[idx++] = (MultibyteCodec){#enc, NULL, NULL, _STATELESS_METHODS(enc)};
270+
NEXT_CODEC = (MultibyteCodec){#enc, NULL, NULL, _STATELESS_METHODS(enc)};
268271
#define CODEC_STATELESS_WINIT(enc) \
269-
st->codec_list[idx++] = (MultibyteCodec){#enc, NULL, enc##_codec_init, _STATELESS_METHODS(enc)};
272+
NEXT_CODEC = (MultibyteCodec){#enc, NULL, enc##_codec_init, _STATELESS_METHODS(enc)};
270273

271274
#define END_CODECS_LIST \
272275
assert(st->num_codecs == idx); \

0 commit comments

Comments
 (0)