rem: AUTHORS, usage); else allow_options = 0;   #if defined (V9_ECHO) && defined (V9_DEFAULT) do_v9 = allow_options; #endif
add: usage, AUTHORS, (char const *) NULL);
context: main (int argc, char **argv){  int display_return = 1, do_v9 = 0;  int allow_options = 1;  program_name = argv[0];  setlocale (LC_ALL, "");  bindtextdomain (PACKAGE, LOCALEDIR);  textdomain (PACKAGE);  atexit (close_stdout);  /* Don't recognize --help or --version if POSIXLY_CORRECT is set.  */  if (getenv ("POSIXLY_CORRECT") == NULL)    parse_long_options (argc, argv, PROGRAM_NAME, GNU_PACKAGE, VERSION,		      AUTHORS, usage);  else    allow_options = 0;/* System V machines already have a /bin/sh with a v9 behaviour.  We   use the identical behaviour for these machines so that the   existing system shell scripts won't barf. */#if defined (V9_ECHO) && defined (V9_DEFAULT)  do_v9 = allow_options;#endif  --argc;  ++argv;  while (argc > 0 && *argv[0] == '-')    {      register char *temp;      register int i;      /* If it appears that we are handling options, then make sure that	 all of the options specified are actually valid.  Otherwise, the	 string should just be echoed. */      temp = argv[0] + 1;      for (i = 0; temp[i]; i++)	{	  if (strrchr (VALID_ECHO_OPTIONS, temp[i]) == 0)	    goto just_echo;	}      if (!*temp)	goto just_echo;      /* All of the options in TEMP are valid options to ECHO.	 Handle them. */      while (*temp)	{	  if (allow_options && *temp == 'n')	    display_return = 0;#if defined (V9_ECHO)	  else if (allow_options && *temp == 'e')	    do_v9 = 1;# if defined (V9_DEFAULT)	  else if (allow_options && *temp == 'E')	    do_v9 = 0;# endif /* V9_DEFAULT */#endif /* V9_ECHO */	  else	    goto just_echo;	  temp++;	}      argc--;      argv++;    }just_echo:  if (argc > 0)    {#if defined (V9_ECHO)      if (do_v9)	{	  while (argc > 0)	    {	      register char *s = argv[0];	      register int c;	      while ((c = *s++))		{		  if (c == '\\' && *s)		    {		      switch (c = *s++)			{			case 'a': c = '\007'; break;			case 'b': c = '\b'; break;			case 'c': display_return = 0; continue;			case 'f': c = '\f'; break;			case 'n': c = '\n'; break;			case 'r': c = '\r'; break;			case 't': c = '\t'; break;			case 'v': c = (int) 0x0B; break;			case '0': case '1': case '2': case '3':			case '4': case '5': case '6': case '7':			  c -= '0';			  if (*s >= '0' && *s <= '7')			    c = c * 8 + (*s++ - '0');			  if (*s >= '0' && *s <= '7')			    c = c * 8 + (*s++ - '0');			  break;			case '\\': break;			default:  putchar ('\\'); break;			}		    }		  putchar(c);		}	      argc--;	      argv++;	      if (argc > 0)		putchar(' ');	    }	}      else#endif /* V9_ECHO */	{	  while (argc > 0)	    {	      fputs (argv[0], stdout);	      argc--;	      argv++;	      if (argc > 0)		putchar (' ');	    }	}    }  if (display_return)    putchar ('\n');  exit (EXIT_SUCCESS);}