mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-21 10:12:04 +02:00
util/nvmutil: re-factor to reduce code indentation
This commit is contained in:
+14
-12
@@ -97,9 +97,9 @@ main(int argc, char *argv[])
|
|||||||
if (errno != 0)
|
if (errno != 0)
|
||||||
goto nvmutil_exit;
|
goto nvmutil_exit;
|
||||||
|
|
||||||
if (readFromFile(&fd, gbe, FILENAME, flags, SIZE_8KB)
|
if (readFromFile(&fd, gbe, FILENAME, flags, SIZE_8KB) != SIZE_8KB)
|
||||||
== SIZE_8KB)
|
goto nvmutil_exit;
|
||||||
{
|
|
||||||
if (strMac != NULL)
|
if (strMac != NULL)
|
||||||
setmac(strMac);
|
setmac(strMac);
|
||||||
else
|
else
|
||||||
@@ -107,7 +107,6 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (gbeFileModified)
|
if (gbeFileModified)
|
||||||
writeGbeFile(&fd, FILENAME);
|
writeGbeFile(&fd, FILENAME);
|
||||||
}
|
|
||||||
|
|
||||||
nvmutil_exit:
|
nvmutil_exit:
|
||||||
if (errno == ENOTDIR)
|
if (errno == ENOTDIR)
|
||||||
@@ -126,7 +125,9 @@ writeGbeFile(int *fd, const char *filename)
|
|||||||
|
|
||||||
if (pwrite((*fd), gbe, SIZE_8KB, 0) == SIZE_8KB)
|
if (pwrite((*fd), gbe, SIZE_8KB, 0) == SIZE_8KB)
|
||||||
close((*fd));
|
close((*fd));
|
||||||
if (errno == 0) {
|
if (errno != 0)
|
||||||
|
return;
|
||||||
|
|
||||||
for (partnum = 0; partnum < 2; partnum++) {
|
for (partnum = 0; partnum < 2; partnum++) {
|
||||||
if (nvmPartModified[partnum])
|
if (nvmPartModified[partnum])
|
||||||
printf("Part %d modified\n", partnum);
|
printf("Part %d modified\n", partnum);
|
||||||
@@ -136,7 +137,6 @@ writeGbeFile(int *fd, const char *filename)
|
|||||||
}
|
}
|
||||||
printf("File `%s` successfully modified\n", filename);
|
printf("File `%s` successfully modified\n", filename);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
ssize_t
|
ssize_t
|
||||||
readFromFile(int *fd, uint8_t *buf, const char *path, int flags, size_t size)
|
readFromFile(int *fd, uint8_t *buf, const char *path, int flags, size_t size)
|
||||||
@@ -171,8 +171,10 @@ setmac(const char *strMac)
|
|||||||
|
|
||||||
if (readFromFile(&macfd, rmac, "/dev/urandom", O_RDONLY, 12) != 12)
|
if (readFromFile(&macfd, rmac, "/dev/urandom", O_RDONLY, 12) != 12)
|
||||||
return;
|
return;
|
||||||
else if (strnlen(strMac, 20) != 17)
|
|
||||||
|
if (strnlen(strMac, 20) != 17)
|
||||||
goto invalid_mac_address;
|
goto invalid_mac_address;
|
||||||
|
|
||||||
for (o = 0, random = 0; o < 16; o += 3) {
|
for (o = 0, random = 0; o < 16; o += 3) {
|
||||||
if (o != 15)
|
if (o != 15)
|
||||||
if (strMac[o + 2] != ':')
|
if (strMac[o + 2] != ':')
|
||||||
@@ -214,13 +216,13 @@ setmac(const char *strMac)
|
|||||||
byteswap((uint8_t *) &mac[o]);
|
byteswap((uint8_t *) &mac[o]);
|
||||||
|
|
||||||
for (partnum = 0; partnum < 2; partnum++) {
|
for (partnum = 0; partnum < 2; partnum++) {
|
||||||
if (validChecksum(partnum)) {
|
if (!validChecksum(partnum))
|
||||||
|
continue;
|
||||||
for (o = 0; o < 3; o++)
|
for (o = 0; o < 3; o++)
|
||||||
setWord(o, partnum, mac[o]);
|
setWord(o, partnum, mac[o]);
|
||||||
part = partnum;
|
part = partnum;
|
||||||
cmd("setchecksum");
|
cmd("setchecksum");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
invalid_mac_address:
|
invalid_mac_address:
|
||||||
fprintf(stderr, "Bad MAC address\n");
|
fprintf(stderr, "Bad MAC address\n");
|
||||||
@@ -306,13 +308,13 @@ validChecksum(int partnum)
|
|||||||
for(w = 0; w <= 0x3F; w++)
|
for(w = 0; w <= 0x3F; w++)
|
||||||
total += word(w, partnum);
|
total += word(w, partnum);
|
||||||
|
|
||||||
if (total != 0xBABA) {
|
if (total == 0xBABA)
|
||||||
|
return 1;
|
||||||
|
|
||||||
fprintf(stderr, "WARNING: BAD checksum in part %d\n", partnum);
|
fprintf(stderr, "WARNING: BAD checksum in part %d\n", partnum);
|
||||||
errno = ECANCELED;
|
errno = ECANCELED;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t
|
uint16_t
|
||||||
word(int pos16, int partnum)
|
word(int pos16, int partnum)
|
||||||
|
|||||||
Reference in New Issue
Block a user