mutt_ungetch (*p--);
mutt_ungetch (*p--, 0);
static void push_string (char *s){  char *pp, *p = s + strlen (s) - 1;  size_t l;  int i;  while (p >= s)  {    /* if we see something like "<PageUp>", look to see if it is a real       function name and return the corresponding value */    if (*p == '>')    {      for (pp = p - 1; pp >= s && *pp != '<'; pp--)	;      if (pp >= s)      {	l = p - pp + 1;	for (i = 0; KeyNames[i].name; i++)	{	  if (!strncasecmp (pp, KeyNames[i].name, l))	    break;	}	if (KeyNames[i].name)	{	  /* found a match */	  mutt_ungetch (KeyNames[i].value);	  p = pp - 1;	  continue;	}      }    }    mutt_ungetch (*p--);  }}