summaryrefslogtreecommitdiff
path: root/iconv/iconv_prog.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-04-20 17:33:29 +0000
committerUlrich Drepper <drepper@redhat.com>2001-04-20 17:33:29 +0000
commitb17c0a8e31fe9e99359b6a874008de7aba85d64e (patch)
treead98fd3294cfa032ecbe0289467723db6660e7c4 /iconv/iconv_prog.c
parentb8750342aae413d0892fb0ef4468e036aa65e646 (diff)
Update.
* iconv/iconv_prog.c (print_known_names): If printing goes not to a tty print in a more machine-friendly way.
Diffstat (limited to 'iconv/iconv_prog.c')
-rw-r--r--iconv/iconv_prog.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c
index 24521c0631..c1f9984700 100644
--- a/iconv/iconv_prog.c
+++ b/iconv/iconv_prog.c
@@ -586,7 +586,7 @@ insert_print_list (const void *nodep, VISIT value, int level)
}
static void
-do_print (const void *nodep, VISIT value, int level)
+do_print_human (const void *nodep, VISIT value, int level)
{
if (value == leaf || value == postorder)
{
@@ -628,6 +628,17 @@ do_print (const void *nodep, VISIT value, int level)
}
static void
+do_print (const void *nodep, VISIT value, int level)
+{
+ if (value == leaf || value == postorder)
+ {
+ const char *s = *(const char **) nodep;
+
+ puts (s);
+ }
+}
+
+static void
internal_function
add_known_names (struct gconv_module *node)
{
@@ -672,8 +683,13 @@ listed with several different names (aliases).\n\n "), stdout);
/* Now print the collected names. */
column = 2;
- twalk (printlist, do_print);
+ if (isatty (fileno (stdout)))
+ {
+ twalk (printlist, do_print_human);
- if (column != 0)
- puts ("");
+ if (column != 0)
+ puts ("");
+ }
+ else
+ twalk (printlist, do_print);
}