monoeg_g_file_error_quark ()
{
  void * D.5867;

  D.5867 = error_quark;
  return D.5867;
}


monoeg_g_file_error_from_errno (gint err_no)
{
  GFileError D.5869;

  switch (err_no) <default: <D.5856>, case 1: <D.5854>, case 2: <D.5836>, case 4: <D.5852>, case 5: <D.5853>, case 6: <D.5838>, case 9: <D.5848>, case 11: <D.5851>, case 12: <D.5845>, case 13: <D.5834>, case 14: <D.5842>, case 17: <D.5832>, case 19: <D.5839>, case 20: <D.5837>, case 21: <D.5833>, case 22: <D.5849>, case 23: <D.5847>, case 24: <D.5846>, case 26: <D.5841>, case 28: <D.5844>, case 30: <D.5840>, case 32: <D.5850>, case 36: <D.5835>, case 38: <D.5855>, case 40: <D.5843>>
  <D.5832>:
  D.5869 = 0;
  return D.5869;
  <D.5833>:
  D.5869 = 1;
  return D.5869;
  <D.5834>:
  D.5869 = 2;
  return D.5869;
  <D.5835>:
  D.5869 = 3;
  return D.5869;
  <D.5836>:
  D.5869 = 4;
  return D.5869;
  <D.5837>:
  D.5869 = 5;
  return D.5869;
  <D.5838>:
  D.5869 = 6;
  return D.5869;
  <D.5839>:
  D.5869 = 7;
  return D.5869;
  <D.5840>:
  D.5869 = 8;
  return D.5869;
  <D.5841>:
  D.5869 = 9;
  return D.5869;
  <D.5842>:
  D.5869 = 10;
  return D.5869;
  <D.5843>:
  D.5869 = 11;
  return D.5869;
  <D.5844>:
  D.5869 = 12;
  return D.5869;
  <D.5845>:
  D.5869 = 13;
  return D.5869;
  <D.5846>:
  D.5869 = 14;
  return D.5869;
  <D.5847>:
  D.5869 = 15;
  return D.5869;
  <D.5848>:
  D.5869 = 16;
  return D.5869;
  <D.5849>:
  D.5869 = 17;
  return D.5869;
  <D.5850>:
  D.5869 = 18;
  return D.5869;
  <D.5851>:
  D.5869 = 19;
  return D.5869;
  <D.5852>:
  D.5869 = 20;
  return D.5869;
  <D.5853>:
  D.5869 = 21;
  return D.5869;
  <D.5854>:
  D.5869 = 22;
  return D.5869;
  <D.5855>:
  D.5869 = 23;
  return D.5869;
  <D.5856>:
  D.5869 = 24;
  return D.5869;
}


monoeg_g_file_set_contents (const gchar * filename, const gchar * contents, gssize length, struct GError * * err)
{
  long int name.0;
  long int filename.1;
  long int D.5876;
  int * D.5879;
  int D.5880;
  const gchar * D.5881;
  <unnamed type> D.5882;
  int D.5883;
  void * D.5884;
  gboolean D.5885;
  long unsigned int D.5888;
  long unsigned int length.2;
  long unsigned int D.5890;
  long unsigned int length.3;
  int D.5894;
  const gchar * D.5895;
  int D.5896;
  <unnamed type> D.5897;
  int D.5898;
  void * D.5899;
  int D.5900;
  const gchar * D.5903;
  <unnamed type> D.5904;
  int D.5905;
  void * D.5906;
  const char * name;
  char * path;
  struct FILE * fp;

  name = strrchr (filename, 47);
  if (name == 0B) goto <D.5871>; else goto <D.5872>;
  <D.5871>:
  name = filename;
  goto <D.5873>;
  <D.5872>:
  name = name + 1;
  <D.5873>:
  name.0 = (long int) name;
  filename.1 = (long int) filename;
  D.5876 = name.0 - filename.1;
  path = monoeg_g_strdup_printf ("%.*s.%s~", D.5876, filename, name);
  fp = fopen (path, "wb");
  if (fp == 0B) goto <D.5877>; else goto <D.5878>;
  <D.5877>:
  D.5879 = __errno_location ();
  D.5880 = *D.5879;
  D.5881 = monoeg_g_strerror (D.5880);
  D.5879 = __errno_location ();
  D.5880 = *D.5879;
  D.5882 = monoeg_g_file_error_from_errno (D.5880);
  D.5883 = (int) D.5882;
  D.5884 = monoeg_g_file_error_quark ();
  monoeg_g_set_error (err, D.5884, D.5883, "%s", D.5881);
  monoeg_g_free (path);
  D.5885 = 0;
  return D.5885;
  <D.5878>:
  if (length < 0) goto <D.5886>; else goto <D.5887>;
  <D.5886>:
  D.5888 = strlen (contents);
  length = (gssize) D.5888;
  <D.5887>:
  length.2 = (long unsigned int) length;
  D.5890 = fwrite (contents, 1, length.2, fp);
  length.3 = (long unsigned int) length;
  if (D.5890 < length.3) goto <D.5892>; else goto <D.5893>;
  <D.5892>:
  D.5894 = ferror (fp);
  D.5895 = monoeg_g_strerror (D.5894);
  D.5896 = ferror (fp);
  D.5897 = monoeg_g_file_error_from_errno (D.5896);
  D.5898 = (int) D.5897;
  D.5899 = monoeg_g_file_error_quark ();
  monoeg_g_set_error (err, D.5899, D.5898, "%s", D.5895);
  unlink (path);
  monoeg_g_free (path);
  fclose (fp);
  D.5885 = 0;
  return D.5885;
  <D.5893>:
  fclose (fp);
  D.5900 = rename (path, filename);
  if (D.5900 != 0) goto <D.5901>; else goto <D.5902>;
  <D.5901>:
  D.5879 = __errno_location ();
  D.5880 = *D.5879;
  D.5903 = monoeg_g_strerror (D.5880);
  D.5879 = __errno_location ();
  D.5880 = *D.5879;
  D.5904 = monoeg_g_file_error_from_errno (D.5880);
  D.5905 = (int) D.5904;
  D.5906 = monoeg_g_file_error_quark ();
  monoeg_g_set_error (err, D.5906, D.5905, "%s", D.5903);
  unlink (path);
  monoeg_g_free (path);
  D.5885 = 0;
  return D.5885;
  <D.5902>:
  monoeg_g_free (path);
  D.5885 = 1;
  return D.5885;
}


