Mono_Posix_Stdlib_SetLastError (int error_number)
{
  int * D.6553;

  D.6553 = __errno_location ();
  *D.6553 = error_number;
}


Mono_Posix_Syscall_strerror_r (int errnum, char * buf, mph_size_t n)
{
  int * D.6556;
  int D.6557;
  long unsigned int D.6561;
  int D.6562;
  long unsigned int D.6563;
  char * D.6566;
  char * r;
  char ebuf[15];
  size_t len;
  size_t blen;

  try
    {
      if (0 != 0) goto <D.6554>; else goto <D.6555>;
      <D.6554>:
      D.6556 = __errno_location ();
      *D.6556 = 75;
      D.6557 = -1;
      return D.6557;
      <D.6555>:
      r = strerror_r (errnum, &ebuf, 15);
      len = strlen (r);
      if (&ebuf == r) goto <D.6558>; else goto <D.6560>;
      <D.6560>:
      D.6561 = MIN_EXPR <len, 15>;
      D.6562 = strncmp (r, &mph_unknown, D.6561);
      if (D.6562 == 0) goto <D.6558>; else goto <D.6559>;
      <D.6558>:
      D.6556 = __errno_location ();
      *D.6556 = 22;
      D.6557 = -1;
      return D.6557;
      <D.6559>:
      blen = n;
      D.6563 = len + 1;
      if (D.6563 > blen) goto <D.6564>; else goto <D.6565>;
      <D.6564>:
      D.6556 = __errno_location ();
      *D.6556 = 34;
      D.6557 = -1;
      return D.6557;
      <D.6565>:
      strncpy (buf, r, len);
      D.6566 = buf + len;
      *D.6566 = 0;
      D.6557 = 0;
      return D.6557;
    }
  finally
    {
      ebuf = {CLOBBER};
    }
}


strncpy (char * restrict __dest, const char * restrict __src, size_t __len)
{
  char * D.6569;
  long unsigned int D.6570;

  D.6570 = __builtin_object_size (__dest, 1);
  D.6569 = __builtin___strncpy_chk (__dest, __src, __len, D.6570);
  return D.6569;
}


