mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* io.c (appendline): reformed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d4beba3f3e
commit
ff80e84db9
2 changed files with 12 additions and 15 deletions
|
@ -1,4 +1,6 @@
|
|||
Wed Jan 14 12:35:20 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
Wed Jan 14 12:38:02 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* io.c (appendline): reformed.
|
||||
|
||||
* io.c (rb_io_s_pipe): reduced nest of rb_ensure of main block.
|
||||
|
||||
|
|
23
io.c
23
io.c
|
@ -2016,7 +2016,7 @@ appendline(rb_io_t *fptr, int delim, VALUE *strp, long *lp)
|
|||
|
||||
if (NEED_READCONV(fptr)) {
|
||||
make_readconv(fptr, 0);
|
||||
while (1) {
|
||||
do {
|
||||
const char *p, *e;
|
||||
int searchlen;
|
||||
if (fptr->cbuf_len) {
|
||||
|
@ -2050,15 +2050,12 @@ appendline(rb_io_t *fptr, int delim, VALUE *strp, long *lp)
|
|||
return (unsigned char)RSTRING_PTR(str)[RSTRING_LEN(str)-1];
|
||||
}
|
||||
}
|
||||
|
||||
if (more_char(fptr) == -1) {
|
||||
*lp = limit;
|
||||
return EOF;
|
||||
}
|
||||
}
|
||||
} while (more_char(fptr) != -1);
|
||||
*lp = limit;
|
||||
return EOF;
|
||||
}
|
||||
|
||||
while (1) {
|
||||
do {
|
||||
long pending = READ_DATA_PENDING_COUNT(fptr);
|
||||
if (pending > 0) {
|
||||
const char *p = READ_DATA_PENDING_PTR(fptr);
|
||||
|
@ -2082,15 +2079,13 @@ appendline(rb_io_t *fptr, int delim, VALUE *strp, long *lp)
|
|||
*lp = limit;
|
||||
if (e) return delim;
|
||||
if (limit == 0)
|
||||
return (unsigned char)RSTRING_PTR(str)[RSTRING_LEN(str)-1];
|
||||
return (unsigned char)RSTRING_PTR(str)[RSTRING_LEN(str)-1];
|
||||
}
|
||||
rb_thread_wait_fd(fptr->fd);
|
||||
rb_io_check_closed(fptr);
|
||||
if (io_fillbuf(fptr) < 0) {
|
||||
*lp = limit;
|
||||
return EOF;
|
||||
}
|
||||
}
|
||||
} while (io_fillbuf(fptr) >= 0);
|
||||
*lp = limit;
|
||||
return EOF;
|
||||
}
|
||||
|
||||
static inline int
|
||||
|
|
Loading…
Reference in a new issue