Mercurial > hg > dmlib
annotate dmfile.c @ 414:c452a459e552
Clear up the file descriptions.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 03 Nov 2012 03:50:26 +0200 |
parents | d0257d0004f6 |
children | c1f6def0c1da |
rev | line source |
---|---|
0 | 1 /* |
2 * DMLib | |
414
c452a459e552
Clear up the file descriptions.
Matti Hamalainen <ccr@tnsp.org>
parents:
405
diff
changeset
|
3 * -- Standard I/O (stdio) file write/read endianess helpers |
0 | 4 * Programmed and designed by Matti 'ccr' Hamalainen |
5 * (C) Copyright 2011 Tecnic Software productions (TNSP) | |
6 */ | |
7 #include "dmfile.h" | |
8 | |
9 | |
405
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
10 BOOL dm_fread_str(FILE *f, void *buf, const size_t len) |
0 | 11 { |
12 return fread(buf, len, 1, f) == 1; | |
13 } | |
14 | |
15 | |
405
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
16 BOOL dm_fread_byte(FILE *f, Uint8 *val) |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
17 { |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
18 return fread(val, 1, 1, f) == 1; |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
19 } |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
20 |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
21 |
0 | 22 #define DM_DEFINE_FFUNC(xname, xtype, xmacro) \ |
23 BOOL dm_fread_ ## xname (FILE *f, xtype *v) { \ | |
24 xtype result; \ | |
25 if (fread(&result, sizeof( xtype ), 1, f) != 1) \ | |
26 return FALSE; \ | |
27 *v = DM_ ## xmacro ## _TO_NATIVE (result); \ | |
28 return TRUE; \ | |
29 } | |
30 | |
31 #include "dmfiletmpl.h" | |
32 | |
33 | |
34 #undef DM_DEFINE_FFUNC | |
35 | |
405
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
36 |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
37 BOOL dm_fwrite_str(FILE *f, const void *buf, const size_t len) |
0 | 38 { |
39 return fwrite(buf, len, 1, f) == 1; | |
40 } | |
41 | |
42 | |
405
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
43 BOOL dm_fwrite_byte(FILE *f, const Uint8 val) |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
44 { |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
45 return fwrite(&val, 1, 1, f) == 1; |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
46 } |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
47 |
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
48 |
0 | 49 #define DM_DEFINE_FFUNC(xname, xtype, xmacro) \ |
405
d0257d0004f6
Implement dm_{read,write}_byte() and constify.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
50 BOOL dm_fwrite_ ## xname (FILE *f, const xtype v) { \ |
0 | 51 xtype result = DM_NATIVE_TO_ ## xmacro (v); \ |
52 if (fwrite(&result, sizeof( xtype ), 1, f) != 1) \ | |
53 return FALSE; \ | |
54 return TRUE; \ | |
55 } | |
56 | |
57 #include "dmfiletmpl.h" | |
58 | |
59 #undef DM_DEFINE_FFUNC |