aboutsummaryrefslogtreecommitdiff
path: root/iconvdata/iso-2022-jp.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/iso-2022-jp.c')
-rw-r--r--iconvdata/iso-2022-jp.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/iconvdata/iso-2022-jp.c b/iconvdata/iso-2022-jp.c
index afd6579d16..9ca648c3c2 100644
--- a/iconvdata/iso-2022-jp.c
+++ b/iconvdata/iso-2022-jp.c
@@ -54,6 +54,7 @@ struct gap
#define PREPARE_LOOP \
enum direction dir = ((struct iso2022jp_data *) step->data)->dir; \
enum variant var = ((struct iso2022jp_data *) step->data)->var; \
+ int save_state; \
int set = data->statep->count;
#define END_LOOP \
data->statep->count = set;
@@ -81,7 +82,6 @@ struct iso2022jp_data
{
enum direction dir;
enum variant var;
- mbstate_t save_state;
};
@@ -211,11 +211,9 @@ gconv_end (struct gconv_step *data)
and retore the state. */
#define SAVE_RESET_STATE(Save) \
if (Save) \
- ((struct iso2022jp_data *) step->data)->save_state.count \
- = data->statep->count; \
+ save_set = set; \
else \
- data->statep->count \
- = ((struct iso2022jp_data *) step->data)->save_state.count
+ set = save_set
/* First define the conversion function from ISO-2022-JP to UCS4. */