int main (int argc, char *argv[])

{

  char *fnam = argv[0];

  FILE *f;

  if (argv[0][0] != '/')

    {

      fnam = malloc (strlen (argv[0]) + 2);

      if (fnam == NULL)

	abort ();

      strcpy (fnam, "/");

      strcat (fnam, argv[0]);

    }



  f = fopen (fnam, "rb");

  if (f == NULL)

    abort ();

  close (f);



  /* Cover another execution path.  */

  if (fopen ("/nonexistent", "rb") != NULL

      || errno != ENOENT)

    abort ();

  printf ("pass\n");

  return 0;

}

int main (int argc, char *argv[])

{

  char *fnam = argv[0];

  FILE *f;

  if (argv[0][0] != '/')

    {

      fnam = malloc (strlen (argv[0]) + 2);

      if (fnam == NULL)

	abort ();

      strcpy (fnam, "/");

      strcat (fnam, argv[0]);

    }



  f = fopen (fnam, "rb");

  if (f == NULL)

    abort ();

  close (f);



  

  if (fopen ("/nonexistent", "rb") != NULL

      || errno != ENOENT)

    abort ();

  printf ("pass\n");

  return 0;

}

  close (f);   close (f);
int FUNC_0 (int VAR_0, char *VAR_1[])

{

  char *VAR_2 = VAR_1[0];

  FILE *f;

  if (VAR_1[0][0] != '/')

    {

      VAR_2 = malloc (strlen (VAR_1[0]) + 2);

      if (VAR_2 == NULL)

	abort ();

      strcpy (VAR_2, "/");

      strcat (VAR_2, VAR_1[0]);

    }



  f = fopen (VAR_2, "rb");

  if (f == NULL)

    abort ();

  close (f);



  

  if (fopen ("/nonexistent", "rb") != NULL

      || errno != ENOENT)

    abort ();

  printf ("pass\n");

  return 0;

}

int FUNC_0 (int VAR_0, char *VAR_1[])
{ char *VAR_2 = VAR_1[0]; FILE *f; if (VAR_1[0][0] != '/')
{ VAR_2 = malloc (strlen (VAR_1[0]) + 2); if (VAR_2 == NULL)
abort (); strcpy (VAR_2, "/"); strcat (VAR_2, VAR_1[0]); } f = fopen (VAR_2, "rb"); if (f == NULL)
abort (); close (f); if (fopen ("/nonexistent", "rb") != NULL
|| errno != ENOENT)
abort (); printf ("pass\n"); return 0; }