* transcode.c, include/ruby/encoding.c (rb_transcode_convertible):

new function. checking the existance of converter.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2008-09-26 02:07:19 +00:00
Родитель 4300e2a993
Коммит e76b1a11ca
3 изменённых файлов: 20 добавлений и 0 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Fri Sep 26 11:05:41 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* transcode.c, include/ruby/encoding.c (rb_transcode_convertible):
new function. checking the existance of converter.
Fri Sep 26 10:35:50 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* variable.c (global_variable, struct trace_var): made function

Просмотреть файл

@ -209,6 +209,7 @@ typedef enum {
typedef struct rb_econv_t rb_econv_t;
VALUE rb_str_transcode(VALUE str, VALUE to, int ecflags, VALUE ecopts);
int rb_transcode_convertible(const char* from_encoding, const char* to_encoding);
int rb_econv_prepare_opts(VALUE opthash, VALUE *ecopts);

Просмотреть файл

@ -2839,6 +2839,20 @@ econv_s_search_convpath(int argc, VALUE *argv, VALUE klass)
return convpath;
}
/*
* check the existance of converter.
* returns the count of the converting paths.
* result: >=0:success -1:failure
*/
int
rb_transcode_convertible(const char* from_encoding, const char* to_encoding)
{
VALUE convpath = Qnil;
transcode_search_path(from_encoding, to_encoding, search_convpath_i,
&convpath);
return RTEST(convpath);
}
struct rb_econv_init_by_convpath_t {
rb_econv_t *ec;
int index;