use strtol instead of strtod because the latter has problems interpreting

hex strings on solaris
This commit is contained in:
Duncan Laurie 2004-01-27 21:52:56 +00:00
parent 2c898cfc85
commit f7590819fa
2 changed files with 8 additions and 8 deletions

View File

@ -630,7 +630,7 @@ ipmi_lan_set(struct ipmi_intf * intf, int argc, char ** argv)
return;
}
chan = (unsigned char) strtod(argv[0], NULL);
chan = (unsigned char)strtol(argv[0], NULL, 0);
if (chan != 0x6 && chan != 0x7) {
printf("valid LAN channels are 6 and 7\n");
return;
@ -815,7 +815,7 @@ ipmi_lanp_main(struct ipmi_intf * intf, int argc, char ** argv)
!strncmp(argv[0], "print", 5)) {
unsigned char chan = 7;
if (argc > 1)
chan = (unsigned char) strtod(argv[1], NULL);
chan = (unsigned char)strtol(argv[1], NULL, 0);
ipmi_lan_print(intf, chan);
}
else if (!strncmp(argv[0], "set", 3))

View File

@ -94,8 +94,8 @@ int ipmi_raw_main(struct ipmi_intf * intf, int argc, char ** argv)
return -1;
}
netfn = strtod(argv[0], NULL);
cmd = strtod(argv[1], NULL);
netfn = (unsigned char)strtol(argv[0], NULL, 0);
cmd = (unsigned char)strtol(argv[1], NULL, 0);
memset(data, 0, sizeof(data));
memset(&req, 0, sizeof(req));
@ -104,7 +104,7 @@ int ipmi_raw_main(struct ipmi_intf * intf, int argc, char ** argv)
req.msg.data = data;
for (i=2; i<argc; i++) {
unsigned char val = strtod(argv[i], NULL);
unsigned char val = (unsigned char)strtol(argv[i], NULL, 0);
req.msg.data[i-2] = val;
req.msg.data_len++;
}
@ -323,7 +323,7 @@ int main(int argc, char ** argv)
}
else if (!strncmp(argv[optind], "event", 5)) {
if (argc-optind-1 > 0) {
unsigned char c = strtod(argv[optind+1], NULL);
unsigned char c = (unsigned char)strtol(argv[optind+1], NULL, 0);
if (intf->open(intf, hostname, port, username, password) < 0)
goto out_free;
ipmi_send_platform_event(intf, c);
@ -362,7 +362,7 @@ int main(int argc, char ** argv)
}
else if (!strncmp(argv[optind], "userinfo", 8)) {
if (argc-optind-1 > 0) {
unsigned char c = strtod(argv[optind+1], NULL);
unsigned char c = (unsigned char)strtol(argv[optind+1], NULL, 0);
rc = intf->open(intf, hostname, port, username, password);
if (rc < 0)
goto out_free;
@ -376,7 +376,7 @@ int main(int argc, char ** argv)
}
else if (!strncmp(argv[optind], "chaninfo", 8)) {
if (argc-optind-1 > 0) {
unsigned char c = strtod(argv[optind+1], NULL);
unsigned char c = (unsigned char)strtol(argv[optind+1], NULL, 0);
rc = intf->open(intf, hostname, port, username, password);
if (rc < 0)
goto out_free;