else if (tolower (*s) == 'f' && isdigit ((unsigned char) s[1])) { n = 0; for (s++; isdigit ((unsigned char) *s) ; s++) { n *= 10; n += *s - '0'; } *d = KEY_F(n); } else
if(!*d)
static int parsekeys (char *s, keycode_t *d, int max){  int n, len = max;  while (*s && len)  {    if ((n = mutt_getvaluebyname (s, KeyNames)) != -1)    {      s += strlen (s);      *d = n;    }    else if (tolower (*s) == 'f' && isdigit ((unsigned char) s[1]))    {      n = 0;      for (s++; isdigit ((unsigned char) *s) ; s++)      {	n *= 10;	n += *s - '0';      }      *d = KEY_F(n);    }    else    {      *d = *s;      s++;    }    d++;    len--;  }  return (max - len);}