Using fmemopen here wasn't necessary, since memcpy could have been used
with way lower overhead. We don't use a dedicated function, because
turning a data field into a string is an inefficient operation and
shouldn't be encouraged.
Also don't initialize data when it's declared, it isn't necessary.
This reverts commit be7d8cfaf1d303cc460ec32207b6f05cd0f86293.
This commit missed some previous copyrights mentioned,
in general I think its better to have this per-file to
follow who wrote what and when.