monoeg_g_file_error_quark ()
{
  void * D.6381;

  D.6381 = error_quark;
  return D.6381;
}


monoeg_g_file_error_from_errno (gint err_no)
{
  GFileError D.6383;

  switch (err_no) <default: <D.6370>, case 1: <D.6368>, case 2: <D.6350>, case 4: <D.6366>, case 5: <D.6367>, case 6: <D.6352>, case 9: <D.6362>, case 11: <D.6365>, case 12: <D.6359>, case 13: <D.6348>, case 14: <D.6356>, case 17: <D.6346>, case 19: <D.6353>, case 20: <D.6351>, case 21: <D.6347>, case 22: <D.6363>, case 23: <D.6361>, case 24: <D.6360>, case 26: <D.6355>, case 28: <D.6358>, case 30: <D.6354>, case 32: <D.6364>, case 36: <D.6349>, case 38: <D.6369>, case 40: <D.6357>>
  <D.6346>:
  D.6383 = 0;
  return D.6383;
  <D.6347>:
  D.6383 = 1;
  return D.6383;
  <D.6348>:
  D.6383 = 2;
  return D.6383;
  <D.6349>:
  D.6383 = 3;
  return D.6383;
  <D.6350>:
  D.6383 = 4;
  return D.6383;
  <D.6351>:
  D.6383 = 5;
  return D.6383;
  <D.6352>:
  D.6383 = 6;
  return D.6383;
  <D.6353>:
  D.6383 = 7;
  return D.6383;
  <D.6354>:
  D.6383 = 8;
  return D.6383;
  <D.6355>:
  D.6383 = 9;
  return D.6383;
  <D.6356>:
  D.6383 = 10;
  return D.6383;
  <D.6357>:
  D.6383 = 11;
  return D.6383;
  <D.6358>:
  D.6383 = 12;
  return D.6383;
  <D.6359>:
  D.6383 = 13;
  return D.6383;
  <D.6360>:
  D.6383 = 14;
  return D.6383;
  <D.6361>:
  D.6383 = 15;
  return D.6383;
  <D.6362>:
  D.6383 = 16;
  return D.6383;
  <D.6363>:
  D.6383 = 17;
  return D.6383;
  <D.6364>:
  D.6383 = 18;
  return D.6383;
  <D.6365>:
  D.6383 = 19;
  return D.6383;
  <D.6366>:
  D.6383 = 20;
  return D.6383;
  <D.6367>:
  D.6383 = 21;
  return D.6383;
  <D.6368>:
  D.6383 = 22;
  return D.6383;
  <D.6369>:
  D.6383 = 23;
  return D.6383;
  <D.6370>:
  D.6383 = 24;
  return D.6383;
}


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.6390;
  void * D.6393;
  int * D.6394;
  int D.6395;
  <unnamed type> D.6396;
  int D.6397;
  const gchar * D.6398;
  gboolean D.6399;
  long unsigned int D.6402;
  long unsigned int length.2;
  long unsigned int D.6404;
  long unsigned int length.3;
  void * D.6408;
  int D.6409;
  <unnamed type> D.6410;
  int D.6411;
  int D.6412;
  const gchar * D.6413;
  int D.6414;
  void * D.6417;
  <unnamed type> D.6418;
  int D.6419;
  const gchar * D.6420;
  const char * name;
  char * path;
  struct FILE * fp;

  name = strrchr (filename, 47);
  if (name == 0B) goto <D.6385>; else goto <D.6386>;
  <D.6385>:
  name = filename;
  goto <D.6387>;
  <D.6386>:
  name = name + 1;
  <D.6387>:
  name.0 = (long int) name;
  filename.1 = (long int) filename;
  D.6390 = name.0 - filename.1;
  path = monoeg_g_strdup_printf ("%.*s.%s~", D.6390, filename, name);
  fp = fopen (path, "wb");
  if (fp == 0B) goto <D.6391>; else goto <D.6392>;
  <D.6391>:
  D.6393 = monoeg_g_file_error_quark ();
  D.6394 = __errno_location ();
  D.6395 = *D.6394;
  D.6396 = monoeg_g_file_error_from_errno (D.6395);
  D.6397 = (int) D.6396;
  D.6394 = __errno_location ();
  D.6395 = *D.6394;
  D.6398 = monoeg_g_strerror (D.6395);
  monoeg_g_set_error (err, D.6393, D.6397, "%s", D.6398);
  monoeg_g_free (path);
  D.6399 = 0;
  return D.6399;
  <D.6392>:
  if (length < 0) goto <D.6400>; else goto <D.6401>;
  <D.6400>:
  D.6402 = strlen (contents);
  length = (gssize) D.6402;
  <D.6401>:
  length.2 = (long unsigned int) length;
  D.6404 = fwrite (contents, 1, length.2, fp);
  length.3 = (long unsigned int) length;
  if (D.6404 < length.3) goto <D.6406>; else goto <D.6407>;
  <D.6406>:
  D.6408 = monoeg_g_file_error_quark ();
  D.6409 = ferror (fp);
  D.6410 = monoeg_g_file_error_from_errno (D.6409);
  D.6411 = (int) D.6410;
  D.6412 = ferror (fp);
  D.6413 = monoeg_g_strerror (D.6412);
  monoeg_g_set_error (err, D.6408, D.6411, "%s", D.6413);
  unlink (path);
  monoeg_g_free (path);
  fclose (fp);
  D.6399 = 0;
  return D.6399;
  <D.6407>:
  fclose (fp);
  D.6414 = rename (path, filename);
  if (D.6414 != 0) goto <D.6415>; else goto <D.6416>;
  <D.6415>:
  D.6417 = monoeg_g_file_error_quark ();
  D.6394 = __errno_location ();
  D.6395 = *D.6394;
  D.6418 = monoeg_g_file_error_from_errno (D.6395);
  D.6419 = (int) D.6418;
  D.6394 = __errno_location ();
  D.6395 = *D.6394;
  D.6420 = monoeg_g_strerror (D.6395);
  monoeg_g_set_error (err, D.6417, D.6419, "%s", D.6420);
  unlink (path);
  monoeg_g_free (path);
  D.6399 = 0;
  return D.6399;
  <D.6416>:
  monoeg_g_free (path);
  D.6399 = 1;
  return D.6399;
}


