1
0
Fork 0
Aegisub/vendor/luabins/src/fwrite.c

50 lines
912 B
C

/*
* fwrite.c
* Luabins Lua-less write API using FILE * as buffer
* See copyright notice in luabins.h
*/
#include "luaheaders.h"
#include "fwrite.h"
/* TODO: Note that stream errors are ignored. Handle them better? */
void lbs_fwriteTableHeader(
FILE * f,
int array_size,
int hash_size
)
{
fputc(LUABINS_CTABLE, f);
fwrite(
(const unsigned char *)&array_size,
LUABINS_LINT,
1,
f
);
fwrite(
(const unsigned char *)&hash_size,
LUABINS_LINT,
1,
f
);
}
void lbs_fwriteNumber(FILE * f, lua_Number value)
{
fputc(LUABINS_CNUMBER, f);
fwrite((const unsigned char *)&value, LUABINS_LNUMBER, 1, f);
}
void lbs_fwriteString(
FILE * f,
const char * value,
size_t length
)
{
fputc(LUABINS_CSTRING, f);
fwrite((const unsigned char *)&length, LUABINS_LSIZET, 1, f);
fwrite((const unsigned char *)value, length, 1, f);
}