Mercurial > hg > dmlib
changeset 405:d0257d0004f6
Implement dm_{read,write}_byte() and constify.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 03 Nov 2012 01:42:45 +0200 |
parents | 1994cc78ce6c |
children | a0160ffdf7e5 |
files | dmfile.c dmfile.h |
diffstat | 2 files changed, 22 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/dmfile.c Mon Oct 22 19:31:06 2012 +0300 +++ b/dmfile.c Sat Nov 03 01:42:45 2012 +0200 @@ -7,12 +7,18 @@ #include "dmfile.h" -BOOL dm_fread_str(FILE *f, void *buf, size_t len) +BOOL dm_fread_str(FILE *f, void *buf, const size_t len) { return fread(buf, len, 1, f) == 1; } +BOOL dm_fread_byte(FILE *f, Uint8 *val) +{ + return fread(val, 1, 1, f) == 1; +} + + #define DM_DEFINE_FFUNC(xname, xtype, xmacro) \ BOOL dm_fread_ ## xname (FILE *f, xtype *v) { \ xtype result; \ @@ -27,14 +33,21 @@ #undef DM_DEFINE_FFUNC -BOOL dm_fwrite_str(FILE *f, void *buf, size_t len) + +BOOL dm_fwrite_str(FILE *f, const void *buf, const size_t len) { return fwrite(buf, len, 1, f) == 1; } +BOOL dm_fwrite_byte(FILE *f, const Uint8 val) +{ + return fwrite(&val, 1, 1, f) == 1; +} + + #define DM_DEFINE_FFUNC(xname, xtype, xmacro) \ -BOOL dm_fwrite_ ## xname (FILE *f, xtype v) { \ +BOOL dm_fwrite_ ## xname (FILE *f, const xtype v) { \ xtype result = DM_NATIVE_TO_ ## xmacro (v); \ if (fwrite(&result, sizeof( xtype ), 1, f) != 1) \ return FALSE; \
--- a/dmfile.h Mon Oct 22 19:31:06 2012 +0300 +++ b/dmfile.h Sat Nov 03 01:42:45 2012 +0200 @@ -14,14 +14,17 @@ */ #define DM_DEFINE_FFUNC(xname, xtype, z) \ BOOL dm_fread_ ## xname (FILE *f, xtype *v); \ -BOOL dm_fwrite_ ## xname (FILE *f, xtype v); +BOOL dm_fwrite_ ## xname (FILE *f, const xtype v); #include "dmfiletmpl.h" #undef DM_DEFINE_FFUNC -BOOL dm_fread_str(FILE *f, void *, size_t); -BOOL dm_fwrite_str(FILE *f, void *, size_t); +BOOL dm_fread_str(FILE *f, void *, const size_t); +BOOL dm_fwrite_str(FILE *f, const void *, const size_t); + +BOOL dm_fread_byte(FILE *f, Uint8 *); +BOOL dm_fwrite_byte(FILE *f, const Uint8); #ifdef __cplusplus