diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-05-31 15:32:38 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-05-31 15:32:38 +0900 |
| commit | 64fc4ac332eab0be7704cf6f7ec5a96c523c0ed9 (patch) | |
| tree | 00bca09773b7584fd2b56c371fe6159550c38b6f /src/sprintf.c | |
| parent | 0d8adaaaa16859342a37e3bf6832a8717c54f27c (diff) | |
| download | mruby-64fc4ac332eab0be7704cf6f7ec5a96c523c0ed9.tar.gz mruby-64fc4ac332eab0be7704cf6f7ec5a96c523c0ed9.zip | |
resolve conflict
Diffstat (limited to 'src/sprintf.c')
| -rw-r--r-- | src/sprintf.c | 33 |
1 files changed, 5 insertions, 28 deletions
diff --git a/src/sprintf.c b/src/sprintf.c index dc9b83dec..b7c5e02fd 100644 --- a/src/sprintf.c +++ b/src/sprintf.c @@ -668,44 +668,37 @@ retry: mrb_value tmp; unsigned int c; int n; -#ifdef INCLUDE_ENCODING - mrb_encoding *enc = mrb_enc_get(mrb, fmt); -#endif //INCLUDE_ENCODING tmp = mrb_check_string_type(mrb, val); if (!mrb_nil_p(tmp)) { if (RSTRING_LEN(tmp) != 1 ) { mrb_raise(mrb, E_ARGUMENT_ERROR, "%%c requires a character"); } -#ifdef INCLUDE_ENCODING - c = mrb_enc_codepoint_len(mrb, RSTRING_PTR(tmp), RSTRING_END(tmp), &n, enc); -#else c = RSTRING_PTR(tmp)[0]; n = 1; -#endif //INCLUDE_ENCODING } else { c = mrb_fixnum(val); - n = mrb_enc_codelen(mrb, c, enc); + n = 1; } if (n <= 0) { mrb_raise(mrb, E_ARGUMENT_ERROR, "invalid character"); } if (!(flags & FWIDTH)) { CHECK(n); - mrb_enc_mbcput(c, &buf[blen], enc); + buf[blen] = c; blen += n; } else if ((flags & FMINUS)) { CHECK(n); - mrb_enc_mbcput(c, &buf[blen], enc); + buf[blen] = c; blen += n; FILL(' ', width-1); } else { FILL(' ', width-1); CHECK(n); - mrb_enc_mbcput(c, &buf[blen], enc); + buf[blen] = c; blen += n; } } @@ -717,25 +710,18 @@ format_s: { mrb_value arg = GETARG(); long len, slen; -#ifdef INCLUDE_ENCODING - mrb_encoding *enc = mrb_enc_get(mrb, fmt); -#endif //INCLUDE_ENCODING if (*p == 'p') arg = mrb_inspect(mrb, arg); str = mrb_obj_as_string(mrb, arg); len = RSTRING_LEN(str); - mrb_str_set_len(mrb, result, blen); + RSTRING_LEN(result) = blen; if (flags&(FPREC|FWIDTH)) { slen = RSTRING_LEN(str); if (slen < 0) { mrb_raise(mrb, E_ARGUMENT_ERROR, "invalid mbstring sequence"); } if ((flags&FPREC) && (prec < slen)) { -#ifdef INCLUDE_ENCODING - char *p = mrb_enc_nth(mrb, RSTRING_PTR(str), RSTRING_END(str),prec, enc); -#else char *p = RSTRING_PTR(str) + prec; -#endif //INCLUDE_ENCODING slen = prec; len = p - RSTRING_PTR(str); } @@ -757,12 +743,10 @@ format_s: buf[blen++] = ' '; } } - mrb_enc_associate(mrb, result, enc); break; } } PUSH(RSTRING_PTR(str), len); - mrb_enc_associate(mrb, result, enc); } break; @@ -915,15 +899,8 @@ bin_retry: if (*p == 'X') { char *pp = s; int c; -#ifdef INCLUDE_ENCODING - mrb_encoding *enc = mrb_enc_get(mrb, fmt); -#endif //INCLUDE_ENCODING while ((c = (int)(unsigned char)*pp) != 0) { -#ifdef INCLUDE_ENCODING - *pp = mrb_enc_toupper(c, enc); -#else *pp = toupper(c); -#endif //INCLUDE_ENCODING pp++; } } |
