From 726f837d2dd88bda87e425fa33c97e48b08878ab Mon Sep 17 00:00:00 2001 From: Robert Johansson Date: Sun, 13 May 2012 16:34:12 +0900 Subject: [PATCH] improved error handling --- bin/mbus-serial-request-data-multi-reply.c | 9 +++++++-- bin/mbus-tcp-request-data-multi-reply.c | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/bin/mbus-serial-request-data-multi-reply.c b/bin/mbus-serial-request-data-multi-reply.c index fb90ad0..c6082f5 100644 --- a/bin/mbus-serial-request-data-multi-reply.c +++ b/bin/mbus-serial-request-data-multi-reply.c @@ -29,7 +29,7 @@ main(int argc, char **argv) mbus_frame_data reply_data; mbus_handle *handle = NULL; - char *device, *addr_str, matching_addr[16]; + char *device, *addr_str, matching_addr[16], *xml_result; int address, baudrate = 9600; memset((void *)&reply, 0, sizeof(mbus_frame)); @@ -132,7 +132,12 @@ main(int argc, char **argv) // // generate XML and print to standard output // - printf("%s", mbus_frame_xml(&reply)); + if ((xml_result = mbus_frame_xml(&reply)) == NULL) + { + fprintf(stderr, "Failed to generate XML representation of MBUS frames: %s\n", mbus_error_str()); + return 1; + } + printf("%s", xml_result); mbus_disconnect(handle); return 0; diff --git a/bin/mbus-tcp-request-data-multi-reply.c b/bin/mbus-tcp-request-data-multi-reply.c index fee2d2a..91ea0c1 100644 --- a/bin/mbus-tcp-request-data-multi-reply.c +++ b/bin/mbus-tcp-request-data-multi-reply.c @@ -29,7 +29,7 @@ main(int argc, char **argv) mbus_frame_data reply_data; mbus_handle *handle = NULL; - char *host, *addr_str, matching_addr[16]; + char *host, *addr_str, matching_addr[16], *xml_result; int port, address; memset((void *)&reply, 0, sizeof(mbus_frame)); @@ -114,7 +114,12 @@ main(int argc, char **argv) // // generate XML and print to standard output // - printf("%s", mbus_frame_xml(&reply)); + if ((xml_result = mbus_frame_xml(&reply)) == NULL) + { + fprintf(stderr, "Failed to generate XML representation of MBUS frames: %s\n", mbus_error_str()); + return 1; + } + printf("%s", xml_result); mbus_disconnect(handle); return 0;