monoeg_g_file_error_quark ()
{
  void * D.5973;

  D.5973 = error_quark;
  return D.5973;
}


monoeg_g_file_error_from_errno (gint err_no)
{
  GFileError D.5975;

  switch (err_no) <default: <D.5962>, case 1: <D.5960>, case 2: <D.5942>, case 4: <D.5958>, case 5: <D.5959>, case 6: <D.5944>, case 9: <D.5954>, case 11: <D.5957>, case 12: <D.5951>, case 13: <D.5940>, case 14: <D.5948>, case 17: <D.5938>, case 19: <D.5945>, case 20: <D.5943>, case 21: <D.5939>, case 22: <D.5955>, case 23: <D.5953>, case 24: <D.5952>, case 26: <D.5947>, case 28: <D.5950>, case 30: <D.5946>, case 32: <D.5956>, case 36: <D.5941>, case 38: <D.5961>, case 40: <D.5949>>
  <D.5938>:
  D.5975 = 0;
  return D.5975;
  <D.5939>:
  D.5975 = 1;
  return D.5975;
  <D.5940>:
  D.5975 = 2;
  return D.5975;
  <D.5941>:
  D.5975 = 3;
  return D.5975;
  <D.5942>:
  D.5975 = 4;
  return D.5975;
  <D.5943>:
  D.5975 = 5;
  return D.5975;
  <D.5944>:
  D.5975 = 6;
  return D.5975;
  <D.5945>:
  D.5975 = 7;
  return D.5975;
  <D.5946>:
  D.5975 = 8;
  return D.5975;
  <D.5947>:
  D.5975 = 9;
  return D.5975;
  <D.5948>:
  D.5975 = 10;
  return D.5975;
  <D.5949>:
  D.5975 = 11;
  return D.5975;
  <D.5950>:
  D.5975 = 12;
  return D.5975;
  <D.5951>:
  D.5975 = 13;
  return D.5975;
  <D.5952>:
  D.5975 = 14;
  return D.5975;
  <D.5953>:
  D.5975 = 15;
  return D.5975;
  <D.5954>:
  D.5975 = 16;
  return D.5975;
  <D.5955>:
  D.5975 = 17;
  return D.5975;
  <D.5956>:
  D.5975 = 18;
  return D.5975;
  <D.5957>:
  D.5975 = 19;
  return D.5975;
  <D.5958>:
  D.5975 = 20;
  return D.5975;
  <D.5959>:
  D.5975 = 21;
  return D.5975;
  <D.5960>:
  D.5975 = 22;
  return D.5975;
  <D.5961>:
  D.5975 = 23;
  return D.5975;
  <D.5962>:
  D.5975 = 24;
  return D.5975;
}


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.5982;
  void * D.5985;
  int * D.5986;
  int D.5987;
  <unnamed type> D.5988;
  int D.5989;
  const gchar * D.5990;
  gboolean D.5991;
  long unsigned int D.5994;
  long unsigned int length.2;
  long unsigned int D.5996;
  long unsigned int length.3;
  void * D.6000;
  int D.6001;
  <unnamed type> D.6002;
  int D.6003;
  int D.6004;
  const gchar * D.6005;
  int D.6006;
  void * D.6009;
  <unnamed type> D.6010;
  int D.6011;
  const gchar * D.6012;
  const char * name;
  char * path;
  struct FILE * fp;

  name = strrchr (filename, 47);
  if (name == 0B) goto <D.5977>; else goto <D.5978>;
  <D.5977>:
  name = filename;
  goto <D.5979>;
  <D.5978>:
  name = name + 1;
  <D.5979>:
  name.0 = (long int) name;
  filename.1 = (long int) filename;
  D.5982 = name.0 - filename.1;
  path = monoeg_g_strdup_printf ("%.*s.%s~", D.5982, filename, name);
  fp = fopen (path, "wb");
  if (fp == 0B) goto <D.5983>; else goto <D.5984>;
  <D.5983>:
  D.5985 = monoeg_g_file_error_quark ();
  D.5986 = __errno_location ();
  D.5987 = *D.5986;
  D.5988 = monoeg_g_file_error_from_errno (D.5987);
  D.5989 = (int) D.5988;
  D.5986 = __errno_location ();
  D.5987 = *D.5986;
  D.5990 = monoeg_g_strerror (D.5987);
  monoeg_g_set_error (err, D.5985, D.5989, "%s", D.5990);
  monoeg_g_free (path);
  D.5991 = 0;
  return D.5991;
  <D.5984>:
  if (length < 0) goto <D.5992>; else goto <D.5993>;
  <D.5992>:
  D.5994 = strlen (contents);
  length = (gssize) D.5994;
  <D.5993>:
  length.2 = (long unsigned int) length;
  D.5996 = fwrite (contents, 1, length.2, fp);
  length.3 = (long unsigned int) length;
  if (D.5996 < length.3) goto <D.5998>; else goto <D.5999>;
  <D.5998>:
  D.6000 = monoeg_g_file_error_quark ();
  D.6001 = ferror (fp);
  D.6002 = monoeg_g_file_error_from_errno (D.6001);
  D.6003 = (int) D.6002;
  D.6004 = ferror (fp);
  D.6005 = monoeg_g_strerror (D.6004);
  monoeg_g_set_error (err, D.6000, D.6003, "%s", D.6005);
  unlink (path);
  monoeg_g_free (path);
  fclose (fp);
  D.5991 = 0;
  return D.5991;
  <D.5999>:
  fclose (fp);
  D.6006 = rename (path, filename);
  if (D.6006 != 0) goto <D.6007>; else goto <D.6008>;
  <D.6007>:
  D.6009 = monoeg_g_file_error_quark ();
  D.5986 = __errno_location ();
  D.5987 = *D.5986;
  D.6010 = monoeg_g_file_error_from_errno (D.5987);
  D.6011 = (int) D.6010;
  D.5986 = __errno_location ();
  D.5987 = *D.5986;
  D.6012 = monoeg_g_strerror (D.5987);
  monoeg_g_set_error (err, D.6009, D.6011, "%s", D.6012);
  unlink (path);
  monoeg_g_free (path);
  D.5991 = 0;
  return D.5991;
  <D.6008>:
  monoeg_g_free (path);
  D.5991 = 1;
  return D.5991;
}


