Fix warning "not checking return value of fscanf" in lib/utils.c: get_psched_settings
Also, change internal variables type from uint32_t to unsigned int. Correct scanf format string should contain "SCNx32" instead of just "x", but I decide not to fix that and just changed variable type.
This commit is contained in:
parent
8cd2f5728a
commit
a2b23ffe45
1 changed files with 9 additions and 3 deletions
12
lib/utils.c
12
lib/utils.c
|
@ -28,6 +28,7 @@
|
|||
#include <netlink/netlink.h>
|
||||
#include <netlink/utils.h>
|
||||
#include <linux/socket.h>
|
||||
#include <stdlib.h> /* exit() */
|
||||
|
||||
/**
|
||||
* Global variable indicating the desired level of debugging output.
|
||||
|
@ -421,10 +422,15 @@ static void __init get_psched_settings(void)
|
|||
strncpy(name, "/proc/net/psched", sizeof(name) - 1);
|
||||
|
||||
if ((fd = fopen(name, "r"))) {
|
||||
uint32_t ns_per_usec, ns_per_tick, nom, denom;
|
||||
unsigned int ns_per_usec, ns_per_tick, nom, denom;
|
||||
|
||||
fscanf(fd, "%08x %08x %08x %08x",
|
||||
&ns_per_usec, &ns_per_tick, &nom, &denom);
|
||||
if (fscanf(fd, "%08x %08x %08x %08x",
|
||||
&ns_per_usec, &ns_per_tick, &nom, &denom) != 4) {
|
||||
fprintf(stderr, "Fatal error: can not read psched settings from \"%s\". " \
|
||||
"Try to set TICKS_PER_USEC, PROC_NET_PSCHED or PROC_ROOT " \
|
||||
"environment variables\n", name);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ticks_per_usec = (double) ns_per_usec /
|
||||
(double) ns_per_tick;
|
||||
|
|
Loading…
Add table
Reference in a new issue