summaryrefslogtreecommitdiffstats
path: root/transcode.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-27 01:15:37 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-27 01:15:37 +0000
commit87ff93fb8618cf1b7aa8f88f20d5eb9323aece38 (patch)
tree38a12c46842724baaf3d0c0a9e25eb93c2477df8 /transcode.c
parent94b705f51f85db27941e4a0dfe4d17a16c3c077a (diff)
downloadruby-87ff93fb8618cf1b7aa8f88f20d5eb9323aece38.tar.gz
ruby-87ff93fb8618cf1b7aa8f88f20d5eb9323aece38.tar.xz
ruby-87ff93fb8618cf1b7aa8f88f20d5eb9323aece38.zip
* transcode.c (struct rb_transcoding): added ary member for debug.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'transcode.c')
-rw-r--r--transcode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/transcode.c b/transcode.c
index 1997e310c..850ba0f25 100644
--- a/transcode.c
+++ b/transcode.c
@@ -71,6 +71,7 @@ typedef struct rb_transcoding {
union rb_transcoding_state_t { /* opaque data for stateful encoding */
void *ptr;
+ char ary[sizeof(double) > sizeof(void*) ? sizeof(double) : sizeof(void*)];
double dummy_for_alignment;
} state;
} rb_transcoding;
@@ -89,7 +90,7 @@ typedef struct rb_transcoding {
#define TRANSCODING_STATE_EMBED_MAX sizeof(union rb_transcoding_state_t)
#define TRANSCODING_STATE(tc) \
((tc)->transcoder->state_size <= sizeof((tc)->state) ? \
- (void *)&(tc)->state : \
+ (tc)->state.ary : \
(tc)->state.ptr)
typedef struct {
@@ -424,7 +425,6 @@ transcode_restartable0(const unsigned char **in_pos, unsigned char **out_pos,
const unsigned char *in_stop, unsigned char *out_stop,
rb_transcoding *tc,
const int opt)
-
{
const rb_transcoder *tr = tc->transcoder;
int unitlen = tr->input_unit_length;