cbfstool: Make endian detection functions to work without prior setup.
The 'host_bigendian' variable (and functions relying on it like ntohl/htonl) requires host detection by calling static which_endian() first -- which may be easily forgotten by developers. It's now a public function in common.c and doesn't need initialization anymore. Change-Id: I13dabd1ad15d2d6657137d29138e0878040cb205 Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: http://review.coreboot.org/2199 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
@@ -21,13 +21,16 @@
|
||||
#define __CBFSTOOL_COMMON_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/* Endianess */
|
||||
#include "swab.h"
|
||||
#ifndef __APPLE__
|
||||
#define ntohl(x) (host_bigendian?(x):swab32(x))
|
||||
#define htonl(x) (host_bigendian?(x):swab32(x))
|
||||
#define ntohl(x) (is_big_endian() ? (x) : swab32(x))
|
||||
#define htonl(x) (is_big_endian() ? (x) : swab32(x))
|
||||
#endif
|
||||
#define ntohll(x) (host_bigendian?(x):swab64(x))
|
||||
#define htonll(x) (host_bigendian?(x):swab64(x))
|
||||
#define ntohll(x) (is_big_endian() ? (x) : swab64(x))
|
||||
#define htonll(x) (is_big_endian() ? (x) : swab64(x))
|
||||
extern int is_big_endian(void);
|
||||
|
||||
/* Message output */
|
||||
extern int verbose;
|
||||
|
Reference in New Issue
Block a user