monoeg_g_file_error_quark ()
{
  void * D.5517;

  D.5517 = error_quark;
  return D.5517;
}


monoeg_g_file_error_from_errno (gint err_no)
{
  GFileError D.5519;

  switch (err_no) <default: <D.5506>, case 1: <D.5504>, case 2: <D.5486>, case 4: <D.5502>, case 5: <D.5503>, case 6: <D.5488>, case 9: <D.5498>, case 11: <D.5501>, case 12: <D.5495>, case 13: <D.5484>, case 14: <D.5492>, case 17: <D.5482>, case 19: <D.5489>, case 20: <D.5487>, case 21: <D.5483>, case 22: <D.5499>, case 23: <D.5497>, case 24: <D.5496>, case 26: <D.5491>, case 28: <D.5494>, case 30: <D.5490>, case 32: <D.5500>, case 36: <D.5485>, case 38: <D.5505>, case 40: <D.5493>>
  <D.5482>:
  D.5519 = 0;
  return D.5519;
  <D.5483>:
  D.5519 = 1;
  return D.5519;
  <D.5484>:
  D.5519 = 2;
  return D.5519;
  <D.5485>:
  D.5519 = 3;
  return D.5519;
  <D.5486>:
  D.5519 = 4;
  return D.5519;
  <D.5487>:
  D.5519 = 5;
  return D.5519;
  <D.5488>:
  D.5519 = 6;
  return D.5519;
  <D.5489>:
  D.5519 = 7;
  return D.5519;
  <D.5490>:
  D.5519 = 8;
  return D.5519;
  <D.5491>:
  D.5519 = 9;
  return D.5519;
  <D.5492>:
  D.5519 = 10;
  return D.5519;
  <D.5493>:
  D.5519 = 11;
  return D.5519;
  <D.5494>:
  D.5519 = 12;
  return D.5519;
  <D.5495>:
  D.5519 = 13;
  return D.5519;
  <D.5496>:
  D.5519 = 14;
  return D.5519;
  <D.5497>:
  D.5519 = 15;
  return D.5519;
  <D.5498>:
  D.5519 = 16;
  return D.5519;
  <D.5499>:
  D.5519 = 17;
  return D.5519;
  <D.5500>:
  D.5519 = 18;
  return D.5519;
  <D.5501>:
  D.5519 = 19;
  return D.5519;
  <D.5502>:
  D.5519 = 20;
  return D.5519;
  <D.5503>:
  D.5519 = 21;
  return D.5519;
  <D.5504>:
  D.5519 = 22;
  return D.5519;
  <D.5505>:
  D.5519 = 23;
  return D.5519;
  <D.5506>:
  D.5519 = 24;
  return D.5519;
}


monoeg_g_file_set_contents (const gchar * filename, const gchar * contents, gssize length, struct GError * * err)
{
  int name.0;
  int filename.1;
  int D.5526;
  int * D.5529;
  int D.5530;
  const gchar * D.5531;
  <unnamed type> D.5532;
  int D.5533;
  void * D.5534;
  gboolean D.5535;
  unsigned int D.5538;
  unsigned int length.2;
  unsigned int D.5540;
  int D.5543;
  const gchar * D.5544;
  int D.5545;
  <unnamed type> D.5546;
  int D.5547;
  void * D.5548;
  int D.5549;
  const gchar * D.5552;
  <unnamed type> D.5553;
  int D.5554;
  void * D.5555;
  const char * name;
  char * path;
  struct FILE * fp;

  name = strrchr (filename, 47);
  if (name == 0B) goto <D.5521>; else goto <D.5522>;
  <D.5521>:
  name = filename;
  goto <D.5523>;
  <D.5522>:
  name = name + 1;
  <D.5523>:
  name.0 = (int) name;
  filename.1 = (int) filename;
  D.5526 = name.0 - filename.1;
  path = monoeg_g_strdup_printf ("%.*s.%s~", D.5526, filename, name);
  fp = fopen (path, "wb");
  if (fp == 0B) goto <D.5527>; else goto <D.5528>;
  <D.5527>:
  D.5529 = __errno_location ();
  D.5530 = *D.5529;
  D.5531 = monoeg_g_strerror (D.5530);
  D.5529 = __errno_location ();
  D.5530 = *D.5529;
  D.5532 = monoeg_g_file_error_from_errno (D.5530);
  D.5533 = (int) D.5532;
  D.5534 = monoeg_g_file_error_quark ();
  monoeg_g_set_error (err, D.5534, D.5533, "%s", D.5531);
  monoeg_g_free (path);
  D.5535 = 0;
  return D.5535;
  <D.5528>:
  if (length < 0) goto <D.5536>; else goto <D.5537>;
  <D.5536>:
  D.5538 = strlen (contents);
  length = (gssize) D.5538;
  <D.5537>:
  length.2 = (unsigned int) length;
  D.5540 = fwrite (contents, 1, length.2, fp);
  length.2 = (unsigned int) length;
  if (D.5540 < length.2) goto <D.5541>; else goto <D.5542>;
  <D.5541>:
  D.5543 = ferror (fp);
  D.5544 = monoeg_g_strerror (D.5543);
  D.5545 = ferror (fp);
  D.5546 = monoeg_g_file_error_from_errno (D.5545);
  D.5547 = (int) D.5546;
  D.5548 = monoeg_g_file_error_quark ();
  monoeg_g_set_error (err, D.5548, D.5547, "%s", D.5544);
  unlink (path);
  monoeg_g_free (path);
  fclose (fp);
  D.5535 = 0;
  return D.5535;
  <D.5542>:
  fclose (fp);
  D.5549 = rename (path, filename);
  if (D.5549 != 0) goto <D.5550>; else goto <D.5551>;
  <D.5550>:
  D.5529 = __errno_location ();
  D.5530 = *D.5529;
  D.5552 = monoeg_g_strerror (D.5530);
  D.5529 = __errno_location ();
  D.5530 = *D.5529;
  D.5553 = monoeg_g_file_error_from_errno (D.5530);
  D.5554 = (int) D.5553;
  D.5555 = monoeg_g_file_error_quark ();
  monoeg_g_set_error (err, D.5555, D.5554, "%s", D.5552);
  unlink (path);
  monoeg_g_free (path);
  D.5535 = 0;
  return D.5535;
  <D.5551>:
  monoeg_g_free (path);
  D.5535 = 1;
  return D.5535;
}


