monoeg_g_file_error_quark ()
{
  void * D.5537;

  D.5537 = error_quark;
  return D.5537;
}


monoeg_g_file_error_from_errno (gint err_no)
{
  GFileError D.5539;

  switch (err_no) <default: <D.5526>, case 1: <D.5524>, case 2: <D.5506>, case 4: <D.5522>, case 5: <D.5523>, case 6: <D.5508>, case 9: <D.5518>, case 11: <D.5521>, case 12: <D.5515>, case 13: <D.5504>, case 14: <D.5512>, case 17: <D.5502>, case 19: <D.5509>, case 20: <D.5507>, case 21: <D.5503>, case 22: <D.5519>, case 23: <D.5517>, case 24: <D.5516>, case 26: <D.5511>, case 28: <D.5514>, case 30: <D.5510>, case 32: <D.5520>, case 78: <D.5505>, case 89: <D.5525>, case 90: <D.5513>>
  <D.5502>:
  D.5539 = 0;
  return D.5539;
  <D.5503>:
  D.5539 = 1;
  return D.5539;
  <D.5504>:
  D.5539 = 2;
  return D.5539;
  <D.5505>:
  D.5539 = 3;
  return D.5539;
  <D.5506>:
  D.5539 = 4;
  return D.5539;
  <D.5507>:
  D.5539 = 5;
  return D.5539;
  <D.5508>:
  D.5539 = 6;
  return D.5539;
  <D.5509>:
  D.5539 = 7;
  return D.5539;
  <D.5510>:
  D.5539 = 8;
  return D.5539;
  <D.5511>:
  D.5539 = 9;
  return D.5539;
  <D.5512>:
  D.5539 = 10;
  return D.5539;
  <D.5513>:
  D.5539 = 11;
  return D.5539;
  <D.5514>:
  D.5539 = 12;
  return D.5539;
  <D.5515>:
  D.5539 = 13;
  return D.5539;
  <D.5516>:
  D.5539 = 14;
  return D.5539;
  <D.5517>:
  D.5539 = 15;
  return D.5539;
  <D.5518>:
  D.5539 = 16;
  return D.5539;
  <D.5519>:
  D.5539 = 17;
  return D.5539;
  <D.5520>:
  D.5539 = 18;
  return D.5539;
  <D.5521>:
  D.5539 = 19;
  return D.5539;
  <D.5522>:
  D.5539 = 20;
  return D.5539;
  <D.5523>:
  D.5539 = 21;
  return D.5539;
  <D.5524>:
  D.5539 = 22;
  return D.5539;
  <D.5525>:
  D.5539 = 23;
  return D.5539;
  <D.5526>:
  D.5539 = 24;
  return D.5539;
}


monoeg_g_file_set_contents (const gchar * filename, const gchar * contents, gssize length, struct GError * * err)
{
  int name.0;
  int filename.1;
  int D.5546;
  void * D.5549;
  int * D.5550;
  int D.5551;
  <unnamed type> D.5552;
  int D.5553;
  const gchar * D.5554;
  gboolean D.5555;
  unsigned int D.5558;
  unsigned int length.2;
  unsigned int D.5560;
  void * D.5563;
  int D.5564;
  <unnamed type> D.5565;
  int D.5566;
  int D.5567;
  const gchar * D.5568;
  int D.5569;
  void * D.5572;
  <unnamed type> D.5573;
  int D.5574;
  const gchar * D.5575;
  const char * name;
  char * path;
  struct FILE * fp;

  name = strrchr (filename, 47);
  if (name == 0B) goto <D.5541>; else goto <D.5542>;
  <D.5541>:
  name = filename;
  goto <D.5543>;
  <D.5542>:
  name = name + 1;
  <D.5543>:
  name.0 = (int) name;
  filename.1 = (int) filename;
  D.5546 = name.0 - filename.1;
  path = monoeg_g_strdup_printf ("%.*s.%s~", D.5546, filename, name);
  fp = fopen (path, "wb");
  if (fp == 0B) goto <D.5547>; else goto <D.5548>;
  <D.5547>:
  D.5549 = monoeg_g_file_error_quark ();
  D.5550 = __errno_location ();
  D.5551 = *D.5550;
  D.5552 = monoeg_g_file_error_from_errno (D.5551);
  D.5553 = (int) D.5552;
  D.5550 = __errno_location ();
  D.5551 = *D.5550;
  D.5554 = monoeg_g_strerror (D.5551);
  monoeg_g_set_error (err, D.5549, D.5553, "%s", D.5554);
  monoeg_g_free (path);
  D.5555 = 0;
  return D.5555;
  <D.5548>:
  if (length < 0) goto <D.5556>; else goto <D.5557>;
  <D.5556>:
  D.5558 = strlen (contents);
  length = (gssize) D.5558;
  <D.5557>:
  length.2 = (unsigned int) length;
  D.5560 = fwrite (contents, 1, length.2, fp);
  length.2 = (unsigned int) length;
  if (D.5560 < length.2) goto <D.5561>; else goto <D.5562>;
  <D.5561>:
  D.5563 = monoeg_g_file_error_quark ();
  D.5564 = ferror (fp);
  D.5565 = monoeg_g_file_error_from_errno (D.5564);
  D.5566 = (int) D.5565;
  D.5567 = ferror (fp);
  D.5568 = monoeg_g_strerror (D.5567);
  monoeg_g_set_error (err, D.5563, D.5566, "%s", D.5568);
  unlink (path);
  monoeg_g_free (path);
  fclose (fp);
  D.5555 = 0;
  return D.5555;
  <D.5562>:
  fclose (fp);
  D.5569 = rename (path, filename);
  if (D.5569 != 0) goto <D.5570>; else goto <D.5571>;
  <D.5570>:
  D.5572 = monoeg_g_file_error_quark ();
  D.5550 = __errno_location ();
  D.5551 = *D.5550;
  D.5573 = monoeg_g_file_error_from_errno (D.5551);
  D.5574 = (int) D.5573;
  D.5550 = __errno_location ();
  D.5551 = *D.5550;
  D.5575 = monoeg_g_strerror (D.5551);
  monoeg_g_set_error (err, D.5572, D.5574, "%s", D.5575);
  unlink (path);
  monoeg_g_free (path);
  D.5555 = 0;
  return D.5555;
  <D.5571>:
  monoeg_g_free (path);
  D.5555 = 1;
  return D.5555;
}


