mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-11 19:17:22 +00:00
Whenever 'total space' if >= 65535, the percentage can't be safely determined.
So avoid printing it
This commit is contained in:
parent
52dc545d2e
commit
03c5c6a639
@ -666,7 +666,8 @@ ipmi_sel_get_info(struct ipmi_intf * intf)
|
|||||||
{
|
{
|
||||||
struct ipmi_rs * rsp;
|
struct ipmi_rs * rsp;
|
||||||
struct ipmi_rq req;
|
struct ipmi_rq req;
|
||||||
uint16_t e, f, version;
|
uint16_t e, version;
|
||||||
|
uint32_t f;
|
||||||
int pctfull = 0;
|
int pctfull = 0;
|
||||||
uint32_t fs = 0xffffffff;
|
uint32_t fs = 0xffffffff;
|
||||||
uint32_t zeros = 0;
|
uint32_t zeros = 0;
|
||||||
@ -699,13 +700,20 @@ ipmi_sel_get_info(struct ipmi_intf * intf)
|
|||||||
e = buf2short(rsp->data + 1);
|
e = buf2short(rsp->data + 1);
|
||||||
f = buf2short(rsp->data + 3);
|
f = buf2short(rsp->data + 3);
|
||||||
printf("Entries : %d\n", e);
|
printf("Entries : %d\n", e);
|
||||||
printf("Free Space : %d bytes\n", f);
|
printf("Free Space : %d bytes %s\n", f ,(f==65535 ? "or more" : "" ));
|
||||||
|
|
||||||
if (e) {
|
if (e) {
|
||||||
e *= 16;
|
e *= 16; /* each entry takes 16 bytes */
|
||||||
f += e;
|
f += e; /* this is supposed to give the total size ... */
|
||||||
pctfull = (int)(100 * ( (double)e / (double)f ));
|
pctfull = (int)(100 * ( (double)e / (double)f ));
|
||||||
}
|
}
|
||||||
printf("Percent Used : %d%%\n", pctfull);
|
|
||||||
|
if( f >= 65535 ) {
|
||||||
|
printf("Percent Used : %s\n", "unknown" );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Percent Used : %d%%\n", pctfull);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ((!memcmp(rsp->data + 5, &fs, 4)) ||
|
if ((!memcmp(rsp->data + 5, &fs, 4)) ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user