summaryrefslogtreecommitdiff
path: root/transcode_data.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-25 05:57:04 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-25 05:57:04 +0000
commitb7db9036beece0e278aae5fd48f689ebca86e9ca (patch)
treea4d98c1baccce580dbb0d95ca28fd3e37495c6e5 /transcode_data.h
parentdf914b2fefa13400926c262408502923b90b249d (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.h22
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 */