mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
merge revision(s) 20151:
* ext/stringio/stringio.c (strio_ungetc): should allow ungetc at the top of the buffer. ref #701 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@22161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
cde7c40982
commit
783b5e40d8
3 changed files with 26 additions and 12 deletions
|
|
@ -1,3 +1,8 @@
|
|||
Mon Feb 9 13:39:14 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* ext/stringio/stringio.c (strio_ungetc): should allow ungetc at
|
||||
the top of the buffer. ref #701
|
||||
|
||||
Thu Feb 5 09:37:39 2009 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* ext/nkf/nkf-utf8/nkf.c (h_conv): can't guess UTF-8 input in
|
||||
|
|
|
|||
|
|
@ -771,15 +771,24 @@ strio_ungetc(self, ch)
|
|||
int cc = NUM2INT(ch);
|
||||
long len, pos = ptr->pos;
|
||||
|
||||
if (cc != EOF && pos > 0) {
|
||||
if ((len = RSTRING(ptr->string)->len) < pos-- ||
|
||||
(unsigned char)RSTRING(ptr->string)->ptr[pos] !=
|
||||
(unsigned char)cc) {
|
||||
strio_extend(ptr, pos, 1);
|
||||
RSTRING(ptr->string)->ptr[pos] = cc;
|
||||
OBJ_INFECT(ptr->string, self);
|
||||
if (cc != EOF) {
|
||||
len = RSTRING(ptr->string)->len;
|
||||
if (pos == 0) {
|
||||
char *p;
|
||||
rb_str_resize(ptr->string, len + 1);
|
||||
p = RSTRING(ptr->string)->ptr;
|
||||
memmove(p + 1, p, len);
|
||||
}
|
||||
--ptr->pos;
|
||||
else {
|
||||
if (len < pos-- ||
|
||||
(unsigned char)RSTRING(ptr->string)->ptr[pos] !=
|
||||
(unsigned char)cc) {
|
||||
strio_extend(ptr, pos, 1);
|
||||
}
|
||||
--ptr->pos;
|
||||
}
|
||||
RSTRING(ptr->string)->ptr[pos] = cc;
|
||||
OBJ_INFECT(ptr->string, self);
|
||||
ptr->flags &= ~STRIO_EOF;
|
||||
}
|
||||
return Qnil;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
#define RUBY_VERSION "1.8.6"
|
||||
#define RUBY_RELEASE_DATE "2009-02-05"
|
||||
#define RUBY_RELEASE_DATE "2009-02-09"
|
||||
#define RUBY_VERSION_CODE 186
|
||||
#define RUBY_RELEASE_CODE 20090205
|
||||
#define RUBY_PATCHLEVEL 322
|
||||
#define RUBY_RELEASE_CODE 20090209
|
||||
#define RUBY_PATCHLEVEL 323
|
||||
|
||||
#define RUBY_VERSION_MAJOR 1
|
||||
#define RUBY_VERSION_MINOR 8
|
||||
#define RUBY_VERSION_TEENY 6
|
||||
#define RUBY_RELEASE_YEAR 2009
|
||||
#define RUBY_RELEASE_MONTH 2
|
||||
#define RUBY_RELEASE_DAY 5
|
||||
#define RUBY_RELEASE_DAY 9
|
||||
|
||||
#ifdef RUBY_EXTERN
|
||||
RUBY_EXTERN const char ruby_version[];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue