rem: { #ifdef _POSIX_SOURCE struct sigaction sigact;  sigact.sa_handler = SIG_IGN; sigemptyset (&sigact.sa_mask); sigact.sa_flags = 0; sigaction (SIGINT, &sigact, NULL); #else				 signal (SIGINT, SIG_IGN); #endif				 }   #ifdef _POSIX_SOURCE { struct sigaction sigact;  sigact.sa_handler = SIG_IGN; sigemptyset (&sigact.sa_mask); sigact.sa_flags = 0; sigaction (SIGPIPE, &sigact, NULL); } #else signal (SIGPIPE, SIG_IGN); #endif
add: signal (SIGINT, SIG_IGN);
context: main (int argc, char **argv){  int errs;  int optc;  program_name = argv[0];  setlocale (LC_ALL, "");  bindtextdomain (PACKAGE, LOCALEDIR);  textdomain (PACKAGE);  atexit (close_stdout);  append = 0;  ignore_interrupts = 0;  while ((optc = getopt_long (argc, argv, "ai", long_options, NULL)) != -1)    {      switch (optc)	{	case 0:	  break;	case 'a':	  append = 1;	  break;	case 'i':	  ignore_interrupts = 1;	  break;	case_GETOPT_HELP_CHAR;	case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);	default:	  usage (EXIT_FAILURE);	}    }  if (ignore_interrupts)    {#ifdef _POSIX_SOURCE      struct sigaction sigact;      sigact.sa_handler = SIG_IGN;      sigemptyset (&sigact.sa_mask);      sigact.sa_flags = 0;      sigaction (SIGINT, &sigact, NULL);#else				/* !_POSIX_SOURCE */      signal (SIGINT, SIG_IGN);#endif				/* _POSIX_SOURCE */    }  /* Don't let us be killed if one of the output files is a pipe that     doesn't consume all its input.  */#ifdef _POSIX_SOURCE  {    struct sigaction sigact;    sigact.sa_handler = SIG_IGN;    sigemptyset (&sigact.sa_mask);    sigact.sa_flags = 0;    sigaction (SIGPIPE, &sigact, NULL);  }#else  signal (SIGPIPE, SIG_IGN);#endif  /* Do *not* warn if tee is given no file arguments.     POSIX requires that it work when given no arguments.  */  errs = tee (argc - optind, (const char **) &argv[optind]);  if (close (STDIN_FILENO) != 0)    error (EXIT_FAILURE, errno, _("standard input"));  exit (errs);}