From 00da6b5977574a0564169172227d8aab45be188f Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Sat, 3 Jan 2015 21:07:56 -0800 Subject: Switch MATCH to separate begin/end macros The for loop trick turned out to be very prone to infinite loops at runtime. It's better to force compiler errors even if it's ugly. --- src/char/inter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/char/inter.cpp') diff --git a/src/char/inter.cpp b/src/char/inter.cpp index eccfc1b..c081825 100644 --- a/src/char/inter.cpp +++ b/src/char/inter.cpp @@ -270,7 +270,7 @@ void mapif_account_reg_reply(Session *s, AccountId account_id) Packet_Head<0x3804> head_04; head_04.account_id = account_id; std::vector> repeat_04; - if OPTION_IS_SOME_NOLOOP(reg, reg_) + OMATCH_BEGIN_SOME (reg, reg_) { repeat_04.resize(reg->reg_num); assert (reg->reg_num < ACCOUNT_REG_NUM); @@ -280,6 +280,7 @@ void mapif_account_reg_reply(Session *s, AccountId account_id) repeat_04[j].value = reg->reg[j].value; } } + OMATCH_END (); send_vpacket<0x3804, 8, 36>(s, head_04, repeat_04); } -- cgit v1.2.3-70-g09d2