Ah, OK.
Tried it, didn't work.
Building the in-memory snapshot takes time - 25 ms for e3m7, for example. String concatenation in C is slow as hell - you'd need to build a pascal string interface to avoid having to scan over the entire buffer to find where it ends every time you want to add even a single char to it. Might test that sometime.