Propagate the error code using return values instead.

Signed-off-by: Niklas Söderlund <[email protected]>
---
 cli_classic.c |  3 +--
 flash.h       |  2 +-
 print.c       | 14 +++++++++-----
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/cli_classic.c b/cli_classic.c
index 4ae375c..7bcd4a6 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -363,8 +363,7 @@ int main(int argc, char *argv[])
 #endif
 
        if (list_supported) {
-               print_supported();
-               ret = 0;
+               ret = print_supported();
                goto out;
        }
 
diff --git a/flash.h b/flash.h
index 4913536..0bb6c2b 100644
--- a/flash.h
+++ b/flash.h
@@ -214,7 +214,7 @@ void chip_readn(const struct flashctx *flash, uint8_t *buf, 
const chipaddr addr,
 
 /* print.c */
 char *flashbuses_to_text(enum chipbustype bustype);
-void print_supported(void);
+int print_supported(void);
 void print_supported_wiki(void);
 
 /* flashrom.c */
diff --git a/print.c b/print.c
index eb99c07..49e9441 100644
--- a/print.c
+++ b/print.c
@@ -58,7 +58,7 @@ char *flashbuses_to_text(enum chipbustype bustype)
        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 @@ static void print_supported_chips(void)
                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 @@ static void print_supported_chips(void)
                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 @@ static void print_supported_chips(void)
                }
                msg_ginfo("\n");
        }
+
+       return 0;
 }
 
 #if CONFIG_INTERNAL == 1
@@ -431,9 +433,10 @@ static void print_supported_boards_helper(const struct 
board_info *boards,
 }
 #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 @@ void print_supported(void)
               programmer_table[PROGRAMMER_LINUX_SPI].name);
        msg_ginfo("Device files /dev/spidev*.*\n");
 #endif
+       return 0;
 }
 
 #if CONFIG_INTERNAL == 1
-- 
1.7.12.3


_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to