*** kill.cc	2015-11-26 10:32:11.982433700 +0100
--- mykill.cc	2015-11-26 10:54:25.040726200 +0100
***************
*** 70,76 ****
  static const char *
  strsigno (int signo)
  {
!   if (signo >= 0 && signo < NSIG)
      return sys_sigabbrev[signo];
    static char buf[sizeof ("Unknown signal") + 32];
    sprintf (buf, "Unknown signal %d", signo);
--- 70,76 ----
  static const char *
  strsigno (int signo)
  {
!   if (signo > 0 && signo < NSIG)
      return sys_sigabbrev[signo];
    static char buf[sizeof ("Unknown signal") + 32];
    sprintf (buf, "Unknown signal %d", signo);
***************
*** 93,99 ****
      }
    intsig = strtosigno (sig) ?: atoi (in_sig);
    char *p;
!   if (!intsig && (strcmp (buf, "SIG0") != 0 && (strtol (in_sig, &p, 10) != 0 || *p)))
      intsig = -1;
    return intsig;
  }
--- 93,99 ----
      }
    intsig = strtosigno (sig) ?: atoi (in_sig);
    char *p;
!   if (!intsig || (strcmp (buf, "SIG0") != 0 && (strtol (in_sig, &p, 10) != 0 || *p)))
      intsig = -1;
    return intsig;
  }

