monoeg_g_file_error_quark ()
{
  void * D.8129;

  D.8129 = error_quark;
  return D.8129;
}


monoeg_g_file_error_from_errno (gint err_no)
{
  GFileError D.8131;

  switch (err_no) <default: <D.8116>, case 1: <D.8114>, case 2: <D.8096>, case 4: <D.8112>, case 5: <D.8113>, case 6: <D.8098>, case 9: <D.8108>, case 11: <D.8111>, case 12: <D.8105>, case 13: <D.8094>, case 14: <D.8102>, case 17: <D.8092>, case 19: <D.8099>, case 20: <D.8097>, case 21: <D.8093>, case 22: <D.8109>, case 23: <D.8107>, case 24: <D.8106>, case 26: <D.8101>, case 28: <D.8104>, case 30: <D.8100>, case 32: <D.8110>, case 36: <D.8095>, case 38: <D.8115>, case 40: <D.8103>>
  <D.8092>:
  D.8131 = 0;
  return D.8131;
  <D.8093>:
  D.8131 = 1;
  return D.8131;
  <D.8094>:
  D.8131 = 2;
  return D.8131;
  <D.8095>:
  D.8131 = 3;
  return D.8131;
  <D.8096>:
  D.8131 = 4;
  return D.8131;
  <D.8097>:
  D.8131 = 5;
  return D.8131;
  <D.8098>:
  D.8131 = 6;
  return D.8131;
  <D.8099>:
  D.8131 = 7;
  return D.8131;
  <D.8100>:
  D.8131 = 8;
  return D.8131;
  <D.8101>:
  D.8131 = 9;
  return D.8131;
  <D.8102>:
  D.8131 = 10;
  return D.8131;
  <D.8103>:
  D.8131 = 11;
  return D.8131;
  <D.8104>:
  D.8131 = 12;
  return D.8131;
  <D.8105>:
  D.8131 = 13;
  return D.8131;
  <D.8106>:
  D.8131 = 14;
  return D.8131;
  <D.8107>:
  D.8131 = 15;
  return D.8131;
  <D.8108>:
  D.8131 = 16;
  return D.8131;
  <D.8109>:
  D.8131 = 17;
  return D.8131;
  <D.8110>:
  D.8131 = 18;
  return D.8131;
  <D.8111>:
  D.8131 = 19;
  return D.8131;
  <D.8112>:
  D.8131 = 20;
  return D.8131;
  <D.8113>:
  D.8131 = 21;
  return D.8131;
  <D.8114>:
  D.8131 = 22;
  return D.8131;
  <D.8115>:
  D.8131 = 23;
  return D.8131;
  <D.8116>:
  D.8131 = 24;
  return D.8131;
}


monoeg_g_file_set_contents (const gchar * filename, const gchar * contents, gssize length, struct GError * * err)
{
  int name.0;
  int filename.1;
  int D.8138;
  void * D.8141;
  int * D.8142;
  int D.8143;
  <unnamed type> D.8144;
  int D.8145;
  const gchar * D.8146;
  gboolean D.8147;
  unsigned int D.8150;
  unsigned int length.2;
  unsigned int D.8152;
  void * D.8155;
  int D.8156;
  <unnamed type> D.8157;
  int D.8158;
  int D.8159;
  const gchar * D.8160;
  int D.8161;
  void * D.8164;
  <unnamed type> D.8165;
  int D.8166;
  const gchar * D.8167;
  const char * name;
  char * path;
  struct FILE * fp;

  name = strrchr (filename, 47);
  if (name == 0B) goto <D.8133>; else goto <D.8134>;
  <D.8133>:
  name = filename;
  goto <D.8135>;
  <D.8134>:
  name = name + 1;
  <D.8135>:
  name.0 = (int) name;
  filename.1 = (int) filename;
  D.8138 = name.0 - filename.1;
  path = monoeg_g_strdup_printf ("%.*s.%s~", D.8138, filename, name);
  fp = fopen (path, "wb");
  if (fp == 0B) goto <D.8139>; else goto <D.8140>;
  <D.8139>:
  D.8141 = monoeg_g_file_error_quark ();
  D.8142 = __errno_location ();
  D.8143 = *D.8142;
  D.8144 = monoeg_g_file_error_from_errno (D.8143);
  D.8145 = (int) D.8144;
  D.8142 = __errno_location ();
  D.8143 = *D.8142;
  D.8146 = monoeg_g_strerror (D.8143);
  monoeg_g_set_error (err, D.8141, D.8145, "%s", D.8146);
  monoeg_g_free (path);
  D.8147 = 0;
  return D.8147;
  <D.8140>:
  if (length < 0) goto <D.8148>; else goto <D.8149>;
  <D.8148>:
  D.8150 = strlen (contents);
  length = (gssize) D.8150;
  <D.8149>:
  length.2 = (unsigned int) length;
  D.8152 = fwrite (contents, 1, length.2, fp);
  length.2 = (unsigned int) length;
  if (D.8152 < length.2) goto <D.8153>; else goto <D.8154>;
  <D.8153>:
  D.8155 = monoeg_g_file_error_quark ();
  D.8156 = ferror (fp);
  D.8157 = monoeg_g_file_error_from_errno (D.8156);
  D.8158 = (int) D.8157;
  D.8159 = ferror (fp);
  D.8160 = monoeg_g_strerror (D.8159);
  monoeg_g_set_error (err, D.8155, D.8158, "%s", D.8160);
  unlink (path);
  monoeg_g_free (path);
  fclose (fp);
  D.8147 = 0;
  return D.8147;
  <D.8154>:
  fclose (fp);
  D.8161 = rename (path, filename);
  if (D.8161 != 0) goto <D.8162>; else goto <D.8163>;
  <D.8162>:
  D.8164 = monoeg_g_file_error_quark ();
  D.8142 = __errno_location ();
  D.8143 = *D.8142;
  D.8165 = monoeg_g_file_error_from_errno (D.8143);
  D.8166 = (int) D.8165;
  D.8142 = __errno_location ();
  D.8143 = *D.8142;
  D.8167 = monoeg_g_strerror (D.8143);
  monoeg_g_set_error (err, D.8164, D.8166, "%s", D.8167);
  unlink (path);
  monoeg_g_free (path);
  D.8147 = 0;
  return D.8147;
  <D.8163>:
  monoeg_g_free (path);
  D.8147 = 1;
  return D.8147;
}


