bug-hello
[Top][All Lists]
Advanced

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

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


From: Reuben Thomas
Subject: Re: [PATCH 1/7] remove unnecessary code from GNU Hello
Date: Tue, 31 Dec 2013 19:48:59 +0000

Looks fine.


On 30 December 2013 11:58, Sami Kerola <address@hidden> wrote:

> * 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
>
>
>


-- 
http://rrt.sc3d.org


reply via email to

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