From: Martin Mares Date: Sat, 20 Nov 2004 15:14:39 +0000 (+0000) Subject: Partial inlining of bskip(). X-Git-Tag: holmes-import~862 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=cd5d3af0e54b377e19368555e37429f11ff3dfdf;p=libucw.git Partial inlining of bskip(). --- diff --git a/lib/fastbuf.c b/lib/fastbuf.c index a29dc30b..529bcfc3 100644 --- a/lib/fastbuf.c +++ b/lib/fastbuf.c @@ -344,7 +344,7 @@ brewind(struct fastbuf *f) } int -bskip(struct fastbuf *f, uns len) +bskip_slow(struct fastbuf *f, uns len) { while (len) { diff --git a/lib/fastbuf.h b/lib/fastbuf.h index 777630c8..12047038 100644 --- a/lib/fastbuf.h +++ b/lib/fastbuf.h @@ -122,7 +122,6 @@ void bflush(struct fastbuf *f); void bseek(struct fastbuf *f, sh_off_t pos, int whence); void bsetpos(struct fastbuf *f, sh_off_t pos); void brewind(struct fastbuf *f); -int bskip(struct fastbuf *f, uns len); sh_off_t bfilesize(struct fastbuf *f); static inline sh_off_t btell(struct fastbuf *f) @@ -346,6 +345,18 @@ bbcopy(struct fastbuf *f, struct fastbuf *t, uns l) bbcopy_slow(f, t, l); } +int bskip_slow(struct fastbuf *f, uns len); +static inline int bskip(struct fastbuf *f, uns len) +{ + if (bavailr(f) >= len) + { + f->bptr += len; + return 1; + } + else + return bskip_slow(f, len); +} + /* I/O on addr_int_t */ #ifdef CPU_64BIT_POINTERS