return s;
return dest;
DEFUN(__stpncpy, (dest, src, n), char *dest AND CONST char *src AND size_t n){  reg_char c;  char *s = dest;  --dest;  if (n >= 4)    {      size_t n4 = n >> 2;      for (;;)	{	  c = *src++;	  *++dest = c;	  if (c == '\0')	    break;	  c = *src++;	  *++dest = c;	  if (c == '\0')	    break;	  c = *src++;	  *++dest = c;	  if (c == '\0')	    break;	  c = *src++;	  *++dest = c;	  if (c == '\0')	    break;	  if (--n4 == 0)	    goto last_chars;	}      n = n - (dest - s) - 1;      if (n == 0)	return dest;      goto zero_fill;    } last_chars:  n &= 3;  if (n == 0)    return s;  do    {      c = *src++;      *++dest = c;      if (--n == 0)	return dest;    }  while (c != '\0'); zero_fill:  while (n-- > 0)    dest[n] = '\0';  return dest;}