diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-20 08:05:44 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-20 08:05:44 +0000 |
commit | 058836a711eeaf1b8f0fe4e1e3b266938c9d4689 (patch) | |
tree | 941121f72d4e32b756acdc1c2a1c4f7a0cb849a3 /include | |
parent | 7a19c1b34db6e47acfdcc7391f336b33718b5d58 (diff) | |
download | ruby-058836a711eeaf1b8f0fe4e1e3b266938c9d4689.tar.gz ruby-058836a711eeaf1b8f0fe4e1e3b266938c9d4689.tar.xz ruby-058836a711eeaf1b8f0fe4e1e3b266938c9d4689.zip |
* include/ruby/ruby.h (ExportStringValue): new macro to convert
string in internal encoding to external to export.
* string.c (rb_str_export): new function to do conversion to
external encoding.
* ext/sdbm/init.c: encoding conversion support.
* ext/dbm/dbm.c: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include')
-rw-r--r-- | include/ruby/encoding.h | 3 | ||||
-rw-r--r-- | include/ruby/ruby.h | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/ruby/encoding.h b/include/ruby/encoding.h index 1b1cf33d5..8bd73fb61 100644 --- a/include/ruby/encoding.h +++ b/include/ruby/encoding.h @@ -92,7 +92,8 @@ char* rb_enc_nth(const char*, const char*, int, rb_encoding*); VALUE rb_obj_encoding(VALUE); VALUE rb_enc_str_buf_cat(VALUE str, const char *ptr, long len, rb_encoding *enc); -VALUE rb_external_str_new_with_enc(const char *ptr, long len, rb_encoding *enc); +VALUE rb_external_str_new_with_enc(const char *ptr, long len, rb_encoding *); +VALUE rb_str_export_to_enc(VALUE, rb_encoding *); /* index -> rb_encoding */ rb_encoding* rb_enc_from_index(int idx); diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index 9789d31ec..1fd48baab 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -373,6 +373,12 @@ void rb_check_safe_str(VALUE); /* obsolete macro - use SafeStringValue(v) */ #define Check_SafeStr(v) rb_check_safe_str((VALUE)(v)) +VALUE rb_str_export(VALUE); +#define ExportStringValue(v) do {\ + SafeStringValue(v);\ + (v) = rb_str_export(v);\ +} while (0) + VALUE rb_get_path(VALUE); #define FilePathValue(v) ((v) = rb_get_path(v)) |