Commit ede2fa4d authored by Niklas Söderlund's avatar Niklas Söderlund Committed by Stefan Tauner
Browse files

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: default avatarNiklas Söderlund <niso@kth.se>
Acked-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
parent d7d423bb
......@@ -357,14 +357,13 @@ int main(int argc, char *argv[])
#if CONFIG_PRINT_WIKI == 1
if (list_supported_wiki) {
print_supported_wiki();
ret = 0;
goto out;
}
#endif
if (list_supported) {
print_supported();
ret = 0;
if (print_supported())
ret = 1;
goto out;
}
......
......@@ -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 */
......
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment