X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=ucw%2Fff-string.c;h=366092bf7568a90193bf0f55e097ecfc5dcacbec;hb=b56cd57bdce6b573ac0fc973ba4d16057c1e2ca5;hp=5b4b8b9c61316ed4a449c7ee961edd43f397494c;hpb=031256ad2e123eec58521f8e3eb9496c197641d2;p=libucw.git diff --git a/ucw/ff-string.c b/ucw/ff-string.c index 5b4b8b9c..366092bf 100644 --- a/ucw/ff-string.c +++ b/ucw/ff-string.c @@ -190,69 +190,6 @@ exit: ; #undef BLOCK_SIZE } -void -bgets_stk_init(struct bgets_stk_struct *s) -{ - s->src_len = bdirect_read_prepare(s->f, &s->src); - if (!s->src_len) - { - s->cur_buf = NULL; - s->cur_len = 0; - } - else - { - s->old_buf = NULL; - s->cur_len = 256; - } -} - -void -bgets_stk_step(struct bgets_stk_struct *s) -{ - byte *buf = s->cur_buf; - uns buf_len = s->cur_len; - if (s->old_buf) - { - memcpy( s->cur_buf, s->old_buf, s->old_len); - buf += s->old_len; - buf_len -= s->old_len; - } - do - { - uns cnt = MIN(s->src_len, buf_len); - for (uns i = cnt; i--;) - { - byte v = *s->src++; - if (v == '\n') - { - bdirect_read_commit(s->f, s->src); - goto exit; - } - *buf++ = v; - } - if (cnt == s->src_len) - { - bdirect_read_commit(s->f, s->src); - s->src_len = bdirect_read_prepare(s->f, &s->src); - } - else - s->src_len -= cnt; - if (cnt == buf_len) - { - s->old_len = s->cur_len; - s->old_buf = s->cur_buf; - s->cur_len *= 2; - return; - } - else - buf_len -= cnt; - } - while (s->src_len); -exit: - *buf = 0; - s->cur_len = 0; -} - char * bgets0(struct fastbuf *f, char *b, uns l) {