* encoding.c (rb_enc_codelen): show codepoint in error message.

* include/ruby/encoding.h (rb_enc_codelen): comment it returns
  positive integer.

* string.c (rb_str_concat): rb_enc_codelen doesn't return 0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2007-12-27 06:27:39 +00:00
Родитель cd2fd33edf
Коммит ce2b982cd2
4 изменённых файлов: 11 добавлений и 5 удалений

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

@ -1,3 +1,12 @@
Thu Dec 27 15:25:16 2007 Tanaka Akira <akr@fsij.org>
* encoding.c (rb_enc_codelen): show codepoint in error message.
* include/ruby/encoding.h (rb_enc_codelen): comment it returns
positive integer.
* string.c (rb_str_concat): rb_enc_codelen doesn't return 0.
Thu Dec 27 15:18:44 2007 Tanaka Akira <akr@fsij.org>
* encoding.c (rb_enc_codelen): error message refined.

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

@ -680,7 +680,7 @@ rb_enc_codelen(int c, rb_encoding *enc)
{
int n = ONIGENC_CODE_TO_MBCLEN(enc,c);
if (n == 0) {
rb_raise(rb_eArgError, "invalid codepoint");
rb_raise(rb_eArgError, "invalid codepoint 0x%x", c);
}
return n;
}

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

@ -87,7 +87,7 @@ int rb_enc_ascget(const char *p, const char *e, int *len, rb_encoding *enc);
int rb_enc_codepoint(const char *p, const char *e, rb_encoding *enc);
#define rb_enc_mbc_to_codepoint(p, e, enc) ONIGENC_MBC_TO_CODE(enc,(UChar*)(p),(UChar*)(e))
/* -> codelen or raise exception */
/* -> codelen>0 or raise exception */
int rb_enc_codelen(int code, rb_encoding *enc);
/* code,ptr,encoding -> write buf */

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

@ -1104,9 +1104,6 @@ rb_str_concat(VALUE str1, VALUE str2)
int pos = RSTRING_LEN(str1);
int len = rb_enc_codelen(c, enc);
if (len == 0) {
rb_raise(rb_eArgError, "invalid codepoint 0x%x", c);
}
rb_str_resize(str1, pos+len);
rb_enc_mbcput(c, RSTRING_PTR(str1)+pos, enc);
return str1;