diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-25 05:57:04 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-25 05:57:04 +0000 |
commit | b7db9036beece0e278aae5fd48f689ebca86e9ca (patch) | |
tree | a4d98c1baccce580dbb0d95ca28fd3e37495c6e5 /transcode_data.h | |
parent | df914b2fefa13400926c262408502923b90b249d (diff) |
* common.mk (COMMONOBJS): transcode_data_*.c moved under enc/trans.
* transcode_data.h (rb_transcoding, rb_transcoder): prefixed.
* transcode.c (rb_register_transcoder, rb_declare_transcoder): split
declaration and registration. [ruby-dev:32704]
* transcode.c (transcode_dispatch): autoload pre-declared transcoder.
* transcode.c (str_transcode): use rb_define_dummy_encoding().
* transcode.c (Init_transcode): initialize transcoder tables.
* enc/trans/single_byte.c, enc/trans/japanese.c: moved from top.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'transcode_data.h')
-rw-r--r-- | transcode_data.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/transcode_data.h b/transcode_data.h index 3131877a41..add954ef74 100644 --- a/transcode_data.h +++ b/transcode_data.h @@ -22,12 +22,9 @@ typedef struct byte_lookup { const struct byte_lookup *const *info; } BYTE_LOOKUP; -#ifdef TRANSCODE_DATA +#ifndef PType /* data file needs to treat this as a pointer, to remove warnings */ #define PType (const BYTE_LOOKUP *) -#else -/* in code, this is treated as just an integer */ -#define PType (int) #endif #define NOMAP (PType 0x01) /* single byte direct map */ @@ -56,23 +53,26 @@ typedef struct byte_lookup { /* dynamic structure, one per conversion (similar to iconv_t) */ /* may carry conversion state (e.g. for iso-2022-jp) */ -typedef struct transcoding { +typedef struct rb_transcoding { VALUE ruby_string_dest; /* the String used as the conversion destination, or NULL if something else is being converted */ - char *(*flush_func)(struct transcoding*, int, int); -} transcoding; + char *(*flush_func)(struct rb_transcoding*, int, int); +} rb_transcoding; /* static structure, one per supported encoding pair */ -typedef struct transcoder_st{ +typedef struct rb_transcoder { const char *from_encoding; const char *to_encoding; const BYTE_LOOKUP *conv_tree_start; int max_output; int from_utf8; void (*preprocessor)(char**, char**, char*, char*, - struct transcoder_st *transcoder, struct transcoding*); + struct rb_transcoder *, struct rb_transcoding *); void (*postprocessor)(char**, char**, char*, char*, - struct transcoder_st *transcoder, struct transcoding*); -} transcoder; + struct rb_transcoder *, struct rb_transcoding *); +} rb_transcoder; + +void rb_declare_transcoder(const char *enc1, const char *enc2, const char *lib); +void rb_register_transcoder(const rb_transcoder *); #endif /* RUBY_TRANSCODE_DATA_H */ |