summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/jansson-e23f558/src/strbuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/lib/jansson-e23f558/src/strbuffer.h')
-rw-r--r--fluent-bit/lib/jansson-e23f558/src/strbuffer.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/fluent-bit/lib/jansson-e23f558/src/strbuffer.h b/fluent-bit/lib/jansson-e23f558/src/strbuffer.h
new file mode 100644
index 000000000..70f2646df
--- /dev/null
+++ b/fluent-bit/lib/jansson-e23f558/src/strbuffer.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2009-2016 Petri Lehtinen <petri@digip.org>
+ *
+ * Jansson is free software; you can redistribute it and/or modify
+ * it under the terms of the MIT license. See LICENSE for details.
+ */
+
+#ifndef STRBUFFER_H
+#define STRBUFFER_H
+
+#include "jansson.h"
+#include <stdlib.h>
+
+typedef struct {
+ char *value;
+ size_t length; /* bytes used */
+ size_t size; /* bytes allocated */
+} strbuffer_t;
+
+int strbuffer_init(strbuffer_t *strbuff) JANSSON_ATTRS((warn_unused_result));
+void strbuffer_close(strbuffer_t *strbuff);
+
+void strbuffer_clear(strbuffer_t *strbuff);
+
+const char *strbuffer_value(const strbuffer_t *strbuff);
+
+/* Steal the value and close the strbuffer */
+char *strbuffer_steal_value(strbuffer_t *strbuff);
+
+int strbuffer_append_byte(strbuffer_t *strbuff, char byte);
+int strbuffer_append_bytes(strbuffer_t *strbuff, const char *data, size_t size);
+
+char strbuffer_pop(strbuffer_t *strbuff);
+
+#endif