From a010e5f6e075097c0d6362d40fb49e812e99e185 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Sat, 10 Jul 2004 20:46:55 +0000 Subject: [PATCH] Moved object reading and writing functions where they belong. --- lib/buck2obj.c | 24 ++++++++++++++++++++++++ lib/obj2buck.c | 26 ++++++++++++++++++++++++++ lib/object.c | 50 -------------------------------------------------- lib/object.h | 10 ++++++---- 4 files changed, 56 insertions(+), 54 deletions(-) diff --git a/lib/buck2obj.c b/lib/buck2obj.c index 52be40d8..7d651dfe 100644 --- a/lib/buck2obj.c +++ b/lib/buck2obj.c @@ -163,3 +163,27 @@ obj_read_bucket(struct buck2obj_buf *buf, struct mempool *pool, uns buck_type, u else return o; } + +int +obj_read(struct fastbuf *f, struct odes *o) +{ + byte buf[MAX_ATTR_SIZE]; + + while (bgets(f, buf, sizeof(buf))) + { + if (!buf[0]) + return 1; + obj_add_attr(o, buf[0], buf+1); + } + return 0; +} + +void +obj_read_multi(struct fastbuf *f, struct odes *o) +{ + /* Read a multi-part object ending with either EOF or a NUL character */ + byte buf[MAX_ATTR_SIZE]; + while (bpeekc(f) > 0 && bgets(f, buf, sizeof(buf))) + if (buf[0]) + obj_add_attr(o, buf[0], buf+1); +} diff --git a/lib/obj2buck.c b/lib/obj2buck.c index 9198fad5..0ced895b 100644 --- a/lib/obj2buck.c +++ b/lib/obj2buck.c @@ -184,3 +184,29 @@ bput_attr_num(struct fastbuf *b, uns type, uns val) else bprintf(b, "%c%d\n", type, val); } + +void +obj_write(struct fastbuf *f, struct odes *d) +{ + for(struct oattr *a=d->attrs; a; a=a->next) + for(struct oattr *b=a; b; b=b->same) + { + byte *z; + for (z = b->val; *z; z++) + if (*z < ' ' && *z != '\t') + { + log(L_ERROR, "obj_dump: Found non-ASCII characters (URL might be %s)", obj_find_aval(d, 'U')); + *z = '?'; + } + ASSERT(z - b->val <= MAX_ATTR_SIZE-2); + bput_attr_str(f, a->attr, b->val); + } +} + +void +obj_write_nocheck(struct fastbuf *f, struct odes *d) +{ + for(struct oattr *a=d->attrs; a; a=a->next) + for(struct oattr *b=a; b; b=b->same) + bput_attr_str(f, a->attr, b->val); +} diff --git a/lib/object.c b/lib/object.c index 32beab2e..22d90647 100644 --- a/lib/object.c +++ b/lib/object.c @@ -57,56 +57,6 @@ obj_new(struct mempool *pool) return o; } -int -obj_read(struct fastbuf *f, struct odes *o) -{ - byte buf[MAX_ATTR_SIZE]; - - while (bgets(f, buf, sizeof(buf))) - { - if (!buf[0]) - return 1; - obj_add_attr(o, buf[0], buf+1); - } - return 0; -} - -void -obj_read_multi(struct fastbuf *f, struct odes *o) -{ - /* Read a multi-part object ending with either EOF or a NUL character */ - byte buf[MAX_ATTR_SIZE]; - while (bpeekc(f) > 0 && bgets(f, buf, sizeof(buf))) - if (buf[0]) - obj_add_attr(o, buf[0], buf+1); -} - -void -obj_write(struct fastbuf *f, struct odes *d) -{ - for(struct oattr *a=d->attrs; a; a=a->next) - for(struct oattr *b=a; b; b=b->same) - { - byte *z; - for (z = b->val; *z; z++) - if (*z < ' ' && *z != '\t') - { - log(L_ERROR, "obj_dump: Found non-ASCII characters (URL might be %s)", obj_find_aval(d, 'U')); - *z = '?'; - } - ASSERT(z - b->val <= MAX_ATTR_SIZE-2); - bput_attr_str(f, a->attr, b->val); - } -} - -void -obj_write_nocheck(struct fastbuf *f, struct odes *d) -{ - for(struct oattr *a=d->attrs; a; a=a->next) - for(struct oattr *b=a; b; b=b->same) - bput_attr_str(f, a->attr, b->val); -} - struct oattr * obj_find_attr(struct odes *o, uns x) { diff --git a/lib/object.h b/lib/object.h index 7ec99658..9b79f482 100644 --- a/lib/object.h +++ b/lib/object.h @@ -30,10 +30,6 @@ struct oattr { /* Object attribute */ void obj_dump(struct odes *); struct odes *obj_new(struct mempool *); -int obj_read(struct fastbuf *, struct odes *); -void obj_read_multi(struct fastbuf *, struct odes *); -void obj_write(struct fastbuf *, struct odes *); -void obj_write_nocheck(struct fastbuf *, struct odes *); struct oattr *obj_find_attr(struct odes *, uns); struct oattr *obj_find_attr_last(struct odes *, uns); uns obj_del_attr(struct odes *, struct oattr *); @@ -63,6 +59,9 @@ struct odes *obj_read_bucket(struct buck2obj_buf *buf, struct mempool *pool, uns * However, no such things are performed when reading the header only. */ +int obj_read(struct fastbuf *, struct odes *); +void obj_read_multi(struct fastbuf *, struct odes *); + /* obj2buck.c: Generating buckets from objects */ void attr_set_type(uns type); @@ -79,4 +78,7 @@ void bput_attr_vformat(struct fastbuf *b, uns type, byte *mask, va_list va); void bput_attr_format(struct fastbuf *b, uns type, char *mask, ...) __attribute__((format(printf,3,4))); void bput_attr_num(struct fastbuf *b, uns type, uns val); +void obj_write(struct fastbuf *, struct odes *); +void obj_write_nocheck(struct fastbuf *, struct odes *); + #endif -- 2.39.2