Remove exit calls from print_supported_chips
Propagate the error code using return values instead, but let cli_classic.c
still decide the ultimate return value of the process.
Also, remove setting the ret value again after print_supported_wiki() -
success is the default.
Corresponding to flashrom svn r1614.
Signed-off-by: Niklas Söderlund <niso@kth.se>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/print.c b/print.c
index bca861a..5a27320 100644
--- a/print.c
+++ b/print.c
@@ -58,7 +58,7 @@
return ret;
}
-static void print_supported_chips(void)
+static int print_supported_chips(void)
{
const char *delim = "/";
const int mintoklen = 5;
@@ -182,7 +182,7 @@
tmpven = malloc(strlen(chip->vendor) + 1);
if (tmpven == NULL) {
msg_gerr("Out of memory!\n");
- exit(1);
+ return 1;
}
strcpy(tmpven, chip->vendor);
@@ -206,7 +206,7 @@
tmpdev = malloc(strlen(chip->name) + 1);
if (tmpdev == NULL) {
msg_gerr("Out of memory!\n");
- exit(1);
+ return 1;
}
strcpy(tmpdev, chip->name);
@@ -320,6 +320,8 @@
}
msg_ginfo("\n");
}
+
+ return 0;
}
#if CONFIG_INTERNAL == 1
@@ -431,9 +433,10 @@
}
#endif
-void print_supported(void)
+int print_supported(void)
{
- print_supported_chips();
+ if (print_supported_chips())
+ return 1;
msg_ginfo("\nSupported programmers:\n");
list_programmers_linebreak(0, 80, 0);
@@ -547,6 +550,7 @@
programmer_table[PROGRAMMER_LINUX_SPI].name);
msg_ginfo("Device files /dev/spidev*.*\n");
#endif
+ return 0;
}
#if CONFIG_INTERNAL == 1