bug-hello
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/7] remove unnecessary code from GNU Hello


From: Sami Kerola
Subject: [PATCH 1/7] remove unnecessary code from GNU Hello
Date: Mon, 30 Dec 2013 11:58:19 +0000

* src/hello.c: remove --next-generation print out format
* man/hello.x: remove --next-generation related BUG item
* Makefile.am: remove --next-generation test
* doc/hello.texi: remove --next-generation documentation
* tests/multiline-box-1: removal
* tests/last-1: remove use of -n option

Karl Berry proposed the removal.
---
 Makefile.am           |  1 -
 doc/hello.texi        | 11 +------
 man/hello.x           |  4 ---
 src/hello.c           | 87 ++-------------------------------------------------
 tests/last-1          |  6 ++--
 tests/multiline-box-1 | 41 ------------------------
 6 files changed, 5 insertions(+), 145 deletions(-)
 delete mode 100755 tests/multiline-box-1

diff --git a/Makefile.am b/Makefile.am
index f60d4d0..aafb2b8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -55,7 +55,6 @@ TESTS = \
        tests/greeting-2 \
        tests/hello-1 \
        tests/last-1 \
-       tests/multiline-box-1 \
        tests/traditional-1
 
 EXTRA_DIST += $(TESTS)
diff --git a/doc/hello.texi b/doc/hello.texi
index 04c93d6..8743d29 100644
--- a/doc/hello.texi
+++ b/doc/hello.texi
@@ -248,15 +248,6 @@ what the program does, as well as the synopsis of how to 
run the
 program.  Any environment variables which affect execution should also
 be mentioned (Hello doesn't have any).
 
address@hidden --next-generation
address@hidden -n
address@hidden --next-generation
address@hidden -n
-Output the greeting, but possibly including box-drawing
-characters or other fancy stuff, especially in translated locales.
-(If you would like to volunteer to translate messages for GNU packages,
-please see @url{http://translationproject.org}.)
-
 @item --traditional
 @itemx -t
 @opindex --traditional
@@ -274,7 +265,7 @@ standard output and then exit successfully.
 
 @end table
 
-If more than one of the greeting options (@option{-g}, @option{-n},
+If more than one of the greeting options (@option{-g},
 @option{-t}, and their long-named equivalents) is specified, whichever
 comes last takes precedence.
 
diff --git a/man/hello.x b/man/hello.x
index a1ec478..9344236 100644
--- a/man/hello.x
+++ b/man/hello.x
@@ -1,6 +1,2 @@
 [NAME]
 hello - friendly greeting program
-[BUGS]
-When --next-generation is combined with --greeting=TEXT, where the TEXT
-contains tabs and the terminal tab width is not 8 characters, the
-right-hand side of the frame can be incorrectly drawn.
diff --git a/src/hello.c b/src/hello.c
index 9c27234..fe85539 100644
--- a/src/hello.c
+++ b/src/hello.c
@@ -24,24 +24,14 @@
 static const struct option longopts[] = {
   {"greeting", required_argument, NULL, 'g'},
   {"help", no_argument, NULL, 'h'},
-  {"next-generation", no_argument, NULL, 'n'},
   {"traditional", no_argument, NULL, 't'},
   {"version", no_argument, NULL, 'v'},
   {NULL, 0, NULL, 0}
 };
 
-/* Different types of greetings; only one per invocation.  */
-typedef enum
-{
-  greet_traditional,
-  greet_new
-} greeting_type;
-
 /* Forward declarations.  */
 static void print_help (void);
 static void print_version (void);
-static void print_box (wchar_t * mb_greeting);
-static void print_frame (const size_t len);
 
 int
 main (int argc, char *argv[])
@@ -51,7 +41,6 @@ main (int argc, char *argv[])
   const char *greeting_msg;
   wchar_t *mb_greeting;
   size_t len;
-  greeting_type g = greet_traditional;
 
   set_program_name (argv[0]);
 
@@ -73,7 +62,7 @@ main (int argc, char *argv[])
      This is implemented in the Gnulib module "closeout".  */
   atexit (close_stdout);
 
-  while ((optc = getopt_long (argc, argv, "g:hntv", longopts, NULL)) != -1)
+  while ((optc = getopt_long (argc, argv, "g:htv", longopts, NULL)) != -1)
     switch (optc)
       {
        /* --help and --version exit immediately, per GNU coding standards.  */
@@ -88,11 +77,7 @@ main (int argc, char *argv[])
        print_help ();
        exit (EXIT_SUCCESS);
        break;
-      case 'n':
-       g = greet_new;
-       break;
       case 't':
-       g = greet_traditional;
        greeting_msg = _("hello, world");
        break;
       default:
@@ -121,80 +106,13 @@ main (int argc, char *argv[])
   mbsrtowcs(mb_greeting, &greeting_msg, len + 1, NULL);
 
   /* Print greeting message and exit. */
-  if (g != greet_new)
-    wprintf (L"%ls\n", mb_greeting);
-  else
-    print_box(mb_greeting);
+  wprintf (L"%ls\n", mb_greeting);
   free(mb_greeting);
 
   exit (EXIT_SUCCESS);
 }
 
 
-/* New format message in box.  */
-
-void
-print_box (wchar_t * greeting)
-{
-  wchar_t *ignored;
-  size_t longest_line = 0;
-
-  struct parts
-  {
-    wchar_t *str;
-    size_t len;
-    struct parts *next;
-  };
-  struct parts *first, *p;
-
-  first = xmalloc (sizeof (struct parts));
-  first->next = NULL;
-  p = first;
-
-  p->str = wcstok (greeting, L"\n", &ignored);
-  p->len = wcslen (p->str);
-  while (p->str != NULL)
-    {
-      size_t i, len_tabs = 0;
-      for (i = 0; *(p->str + i) != '\0'; i++)
-       {
-         if (*(p->str + i) == '\t')
-           len_tabs += 8 - (len_tabs + 2) % 8;
-         else
-           len_tabs++;
-       }
-      p->len = len_tabs - i;
-      if (longest_line < len_tabs)
-       longest_line = len_tabs;
-      p->next = xmalloc (sizeof (struct parts));
-      p = p->next;
-      p->str = wcstok (NULL, L"\n", &ignored);
-    }
-
-  print_frame (longest_line);
-  for (p = first; p->str != NULL; p = p->next)
-    {
-      wprintf (L"| %-*ls |\n", longest_line - p->len, p->str);
-      free (p);
-    }
-  print_frame (longest_line);
-  free (p);
-}
-
-
-/* Print new format upper and lower frame.  */
-
-void
-print_frame (const size_t len)
-{
-  size_t i;
-  fputws (L"+-", stdout);
-  for (i = 0; i < len; i++)
-    putwchar (L'-');
-  fputws (L"-+\n", stdout);
-}
-
-
 /* Print help info.  This long message is split into
    several pieces to help translators be able to align different
    blocks and identify the various pieces.  */
@@ -224,7 +142,6 @@ Print a friendly, customizable greeting.\n"), stdout);
      no-wrap */
   fputs (_("\
   -t, --traditional       use traditional greeting\n\
-  -n, --next-generation   use next-generation greeting\n\
   -g, --greeting=TEXT     use TEXT as the greeting message\n"), stdout);
 
   printf ("\n");
diff --git a/tests/last-1 b/tests/last-1
index 0390ca4..70d2b23 100755
--- a/tests/last-1
+++ b/tests/last-1
@@ -21,14 +21,12 @@ export LANGUAGE LC_ALL LC_MESSAGES LANG
 
 tmpfiles="last-test1.ok"
 cat <<EOF > last-test1.ok
-+----------+
-| my hello |
-+----------+
+my hello
 EOF
 
 tmpfiles="$tmpfiles last-test1.out"
 : ${HELLO=hello}
-${HELLO} -t -n -g 'my hello' | tr -d '\r' \
+${HELLO} -t -g 'my hello' | tr -d '\r' \
 | tr -d '\r' >last-test1.out
 
 : ${DIFF=diff}
diff --git a/tests/multiline-box-1 b/tests/multiline-box-1
deleted file mode 100755
index 960fe99..0000000
--- a/tests/multiline-box-1
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# Test that last greeting option specified is what counts.
-#
-# Copyright 2013 Free Software Foundation, Inc.
-#
-# Copying and distribution of this file, with or without modification,
-# are permitted in any medium without royalty provided the copyright
-# notice and this notice are preserved.
-# This script takes one argument.
-
-trap 'rm -fr $tmpfiles' 1 2 3 15
-
-# We force the C locale here, since we are checking normal output,
-# which will be translated.
-
-LANGUAGE=
-LC_ALL=C
-LC_MESSAGES=
-LANG=
-export LANGUAGE LC_ALL LC_MESSAGES LANG
-
-tmpfiles="multiline-box-test1.ok"
-cat <<EOF > multiline-box-test1.ok
-+----------+
-| abcd     |
-| 1    23 |
-+----------+
-EOF
-
-tmpfiles="$tmpfiles multiline-box-test1.out"
-: ${HELLO=hello}
-${HELLO} -n -g "$(printf abcd\\n1\\t23\\n)" | tr -d '\r' \
-| tr -d '\r' >multiline-box-test1.out
-
-: ${DIFF=diff}
-${DIFF} multiline-box-test1.ok multiline-box-test1.out
-result=$?
-
-rm -fr $tmpfiles
-
-exit $result
-- 
1.8.5.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]