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