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:
Коренберг Марк (дома) 2012-08-30 00:47:09 +06:00
parent 8cd2f5728a
commit a2b23ffe45

View file

@ -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;