mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-20 15:03:44 +02:00
util/nvmutil: clean up rhex()
Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
@@ -140,10 +140,9 @@ rhex(void)
|
|||||||
{
|
{
|
||||||
static int rfd = -1, n = 0;
|
static int rfd = -1, n = 0;
|
||||||
static uint8_t rnum[16];
|
static uint8_t rnum[16];
|
||||||
if (!n) {
|
xopen(rfd, "/dev/urandom", O_RDONLY);
|
||||||
xopen(rfd, "/dev/urandom", O_RDONLY);
|
if (!n)
|
||||||
xpread(rfd, (uint8_t *) &rnum, (n = 15) + 1, 0, "/dev/urandom");
|
xpread(rfd, (uint8_t *) &rnum, (n = 15) + 1, 0, "/dev/urandom");
|
||||||
}
|
|
||||||
return rnum[n--] & 0xf;
|
return rnum[n--] & 0xf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,8 +51,10 @@ int big_endian;
|
|||||||
#define ERR() errno = errno ? errno : ECANCELED
|
#define ERR() errno = errno ? errno : ECANCELED
|
||||||
#define err_if(x) if (x) err(ERR(), NULL)
|
#define err_if(x) if (x) err(ERR(), NULL)
|
||||||
|
|
||||||
#define xopen(f,l,p) if (opendir(l) != NULL) err(errno = EISDIR, "%s", l); \
|
#define xopen(f,l,p) \
|
||||||
if (f == -1) if ((f = open(l, p)) == -1) err(ERR(), "%s", l); \
|
if (f == -1) \
|
||||||
|
if (opendir(l) != NULL) err(errno = EISDIR, "%s", l); \
|
||||||
|
if ((f = open(l, p)) == -1) err(ERR(), "%s", l); \
|
||||||
struct stat st; if (fstat(f, &st) == -1) err(ERR(), "%s", l)
|
struct stat st; if (fstat(f, &st) == -1) err(ERR(), "%s", l)
|
||||||
#define xpread(f, b, n, o, l) if (pread(f, b, n, o) == -1) err(ERR(), "%s", l)
|
#define xpread(f, b, n, o, l) if (pread(f, b, n, o) == -1) err(ERR(), "%s", l)
|
||||||
#define handle_endianness() if (big_endian) xorswap_buf(p)
|
#define handle_endianness() if (big_endian) xorswap_buf(p)
|
||||||
|
|||||||
Reference in New Issue
Block a user