goto next;
if (o->object.flags & OBJECT_COMPRESSION_MASK) {
+#if defined(HAVE_XZ) || defined(HAVE_LZ4)
uint64_t l, rsize;
l = le64toh(o->object.size);
return 1;
}
-
+#else
+ return -EPROTONOSUPPORT;
+#endif
} else if (le64toh(o->object.size) == osize &&
memcmp(o->data.payload, data, size) == 0) {
return -E2BIG;
if (o->object.flags & OBJECT_COMPRESSION_MASK) {
+#if defined(HAVE_XZ) || defined(HAVE_LZ4)
uint64_t rsize;
r = decompress_blob(o->object.flags & OBJECT_COMPRESSION_MASK,
data = from->compress_buffer;
l = rsize;
+#else
+ return -EPROTONOSUPPORT;
+#endif
} else
data = o->data.payload;
l = le64toh(o->object.size) - offsetof(Object, data.payload);
compression = o->object.flags & OBJECT_COMPRESSION_MASK;
- if (compression &&
- decompress_startswith(compression,
- o->data.payload, l,
- &f->compress_buffer, &f->compress_buffer_size,
- field, field_length, '=')) {
-
- uint64_t rsize;
-
- r = decompress_blob(compression,
- o->data.payload, l,
- &f->compress_buffer, &f->compress_buffer_size, &rsize,
- j->data_threshold);
- if (r < 0)
- return r;
+ if (compression) {
+#if defined(HAVE_XZ) || defined(HAVE_LZ4)
+ if (decompress_startswith(compression,
+ o->data.payload, l,
+ &f->compress_buffer, &f->compress_buffer_size,
+ field, field_length, '=')) {
+
+ uint64_t rsize;
+
+ r = decompress_blob(compression,
+ o->data.payload, l,
+ &f->compress_buffer, &f->compress_buffer_size, &rsize,
+ j->data_threshold);
+ if (r < 0)
+ return r;
- *data = f->compress_buffer;
- *size = (size_t) rsize;
-
- return 0;
+ *data = f->compress_buffer;
+ *size = (size_t) rsize;
+ return 0;
+ }
+#else
+ return -EPROTONOSUPPORT;
+#endif
} else if (l >= field_length+1 &&
memcmp(o->data.payload, field, field_length) == 0 &&
o->data.payload[field_length] == '=') {
static int return_data(sd_journal *j, JournalFile *f, Object *o, const void **data, size_t *size) {
size_t t;
uint64_t l;
- int compression, r;
+ int compression;
l = le64toh(o->object.size) - offsetof(Object, data.payload);
t = (size_t) l;
compression = o->object.flags & OBJECT_COMPRESSION_MASK;
if (compression) {
+#if defined(HAVE_XZ) || defined(HAVE_LZ4)
uint64_t rsize;
+ int r;
r = decompress_blob(compression,
o->data.payload, l, &f->compress_buffer,
*data = f->compress_buffer;
*size = (size_t) rsize;
+#else
+ return -EPROTONOSUPPORT;
+#endif
} else {
*data = o->data.payload;
*size = t;