Save XML files into a memory buffer rather than directly into a file

This introduces a "struct membuffer" abstraction that you can write
things into, and makes the XML saving code write to the memory buffer
rather than a file.

The UDDF export already really wanted this: it used to write to a file,
only to then read that file back into memory, delete the file, and then
*rewrite* the file after doing the magic xslt transform.

But the longer-term reason for this is that I want to try to write other
formats, and I want to try to share most helpers.  And those other
formats will need this memory buffer model.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Linus Torvalds 2014-01-16 09:03:11 +07:00 committed by Dirk Hohndel
parent 2e08f75618
commit 96a4fd1bb2
6 changed files with 404 additions and 241 deletions

View file

@ -8,7 +8,7 @@ extern "C" {
extern struct divecomputer *fake_dc(struct divecomputer* dc);
extern void create_device_node(const char *model, uint32_t deviceid, const char *serial, const char *firmware, const char *nickname);
extern void call_for_each_dc(FILE *f, void (*callback)(FILE *, const char *, uint32_t,
extern void call_for_each_dc(void *f, void (*callback)(void *, const char *, uint32_t,
const char *, const char *, const char *));
#ifdef __cplusplus