From f7590819fac1d984f5f32925204a60c86870dc0f Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Tue, 27 Jan 2004 21:52:56 +0000 Subject: [PATCH] use strtol instead of strtod because the latter has problems interpreting hex strings on solaris --- ipmitool/lib/ipmi_lanp.c | 4 ++-- ipmitool/src/ipmitool.c | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ipmitool/lib/ipmi_lanp.c b/ipmitool/lib/ipmi_lanp.c index 43c1d11..da741f8 100644 --- a/ipmitool/lib/ipmi_lanp.c +++ b/ipmitool/lib/ipmi_lanp.c @@ -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)) diff --git a/ipmitool/src/ipmitool.c b/ipmitool/src/ipmitool.c index 6f34107..22ee692 100644 --- a/ipmitool/src/ipmitool.c +++ b/ipmitool/src/ipmitool.c @@ -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 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;