/*
- * Bucket -> Object Converter
+ * Generating Objects from Buckets
*
* (c) 2004, Robert Spalek <robert@ucw.cz>
* (c) 2004, Martin Mares <mj@ucw.cz>
#include "lib/unaligned.h"
#include "lib/pools.h"
#include "lib/fastbuf.h"
-#include "charset/unicode.h"
+#include "lib/unicode.h"
#include "lib/object.h"
#include "lib/bucket.h"
#include "lib/lizard.h"
-#include "lib/buck2obj.h"
+#include "lib/bbuf.h"
#include <stdlib.h>
#include <errno.h>
#define RET_ERR(num) ({ errno = num; return -1; })
-#define GBUF_TYPE byte
-#define GBUF_PREFIX(x) bb_##x
-#include "lib/gbuf.h"
-
struct buck2obj_buf
{
bb_t bb;
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);
+}