(print_known_names): If printing goes not to a tty print in a more
authordrepper <drepper>
Fri, 20 Apr 2001 17:32:34 +0000 (17:32 +0000)
committerdrepper <drepper>
Fri, 20 Apr 2001 17:32:34 +0000 (17:32 +0000)
machine-friendly way.

iconv/iconv_prog.c

index 24521c0..c1f9984 100644 (file)
@@ -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);
 }