From 3d29ed01a539b74bf1eb68a9e83b3086b0809226 Mon Sep 17 00:00:00 2001 From: Jeremy Ellington Date: Wed, 16 Feb 2005 20:12:06 +0000 Subject: [PATCH] Fix 2 minor bugs in output. 1) if a field didn't exist, we weren't updating our offset. This caused subsequent fields to not be displayed. 2) Add missing field "Board Mfg". I think this was just an oversight during a rewrite. --- ipmitool/lib/ipmi_fru.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ipmitool/lib/ipmi_fru.c b/ipmitool/lib/ipmi_fru.c index 79e55df..e2ee100 100644 --- a/ipmitool/lib/ipmi_fru.c +++ b/ipmitool/lib/ipmi_fru.c @@ -96,7 +96,10 @@ get_fru_area_str(uint8_t * data, uint32_t * offset) } if (size < 1) + { + *offset = off; return NULL; + } str = malloc(size+1); if (str == NULL) return NULL; @@ -351,6 +354,13 @@ fru_area_print_board(struct ipmi_intf * intf, struct fru_info * fru, i++; /* skip fru board language */ i += 3; /* skip mfg. date time */ + + fru_area = get_fru_area_str(fru_data, &i); + if (fru_area != NULL && strlen(fru_area) > 0) { + printf(" Board Mfg : %s\n", fru_area); + free(fru_area); + } + fru_area = get_fru_area_str(fru_data, &i); if (fru_area != NULL && strlen(fru_area) > 0) { printf(" Board Product : %s\n", fru_area);