home · contact · privacy
Removed unneeded AND operation.
[plomrogue] / src / readwrite.c
1 /*  readwrite.c */
2
3 #include "readwrite.h"
4 #include <stdio.h>
5 #include <stdint.h>
6
7 extern uint16_t read_uint16_bigendian( FILE * file )
8 {
9     uint16_t x;
10     x =     (uint16_t) fgetc(file) << 8 ;
11     x = x + (uint16_t) fgetc(file)      ;
12     return x;
13 }
14
15 extern uint32_t read_uint32_bigendian( FILE * file )
16 {
17     uint32_t x;
18     x =       (uint32_t) fgetc(file) << 24   ;
19     x = x + ( (uint32_t) fgetc(file) << 16 ) ;
20     x = x + ( (uint32_t) fgetc(file) <<  8 ) ;
21     x = x +   (uint32_t) fgetc(file)         ;
22     return x;
23 }
24
25 extern void write_uint16_bigendian( uint16_t x, FILE * file )
26 {
27     fputc( x >> 8,   file );
28     fputc( x & 0xFF, file );
29 }
30
31 extern void write_uint32_bigendian( uint32_t x, FILE * file )
32 {
33     fputc(   x >> 24,          file);
34     fputc( ( x >> 16 ) & 0xFF, file);
35     fputc( ( x >>  8 ) & 0xFF, file);
36     fputc(   x         & 0xFF, file);
37 }