On systems that do not support open_memstream a temporary file is created. While this works, it is slower than using the in-memory version.
BSD-based systems (including Android and Mac OS) have funopen that allows creating custom FILE objects. There are various open_memstream compatibility layers available, e.g.:
Adapting one of these will allow in-memory file stream support on more platforms (i.e. everything other than Windows).
---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/2796597-create-an-open_memstream-compatiblity-layer?utm_campaign=plugin&utm_content=tracker%2F254961&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F254961&utm_medium=issues&utm_source=github).
On systems that do not support
open_memstream
a temporary file is created. While this works, it is slower than using the in-memory version.BSD-based systems (including Android and Mac OS) have
funopen
that allows creating customFILE
objects. There are variousopen_memstream
compatibility layers available, e.g.:Adapting one of these will allow in-memory file stream support on more platforms (i.e. everything other than Windows).