@@ -604,28 +604,27 @@ int console_init_f(void)
void stdio_print_current_devices(void)
{
#ifndef CONFIG_SYS_CONSOLE_INFO_QUIET
+ int i;
struct stdio_dev *sio;
+ const struct {
+ const int fd;
+ const char * const name;
+ const char * const type;
+ } sp[MAX_FILES] = {
+ { stdin, "In: ", "input", },
+ { stdout, "Out: ", "output", },
+ { stderr, "Err: ", "error", },
+ };
+
/* Print information */
- puts("In: ");
- sio = stdio_get_fd(stdin);
- if (sio == NULL)
- puts("No input devices available!\n");
- else
- printf("%s\n", sio->name);
-
- puts("Out: ");
- sio = stdio_get_fd(stdout);
- if (sio == NULL)
- puts("No output devices available!\n");
- else
- printf("%s\n", sio->name);
-
- puts("Err: ");
- sio = stdio_get_fd(stderr);
- if (sio == NULL)
- puts("No error devices available!\n");
- else
- printf("%s\n", sio->name);
+ for (i = 0; i < MAX_FILES; i++) {
+ sio = stdio_get_fd(sp[i].fd);
+ if (sio)
+ printf("%s%s\n", sp[i].name, sio->name);
+ else
+ printf("%sNo %s devices available!\n",
+ sp[i].name, sp[i].type);
+ }
#endif /* CONFIG_SYS_CONSOLE_INFO_QUIET */
}
Rework the function to be more compact. This results in a minor code size reduction. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Wolfgang Denk <wd@denx.de> --- common/console.c | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-)