process_files (byte -w bytes[], int max_length, p_string names[], int length)
{
  hfile files[STREAM_PRC/MAX_FILES] = {}; ulong all_opened = 1;

  for (i = 0; i < length; i++)
  {
    if (names[i]->stdio:file_exists ()) 
    {
      files[i] = stdio:open (names[i]);
    }
    else
    {
      files[i] = .;
    }
  }

  for (i = 0; i < length; i++)
  {
    if (!files[i]) { all_opened = 0; break; }
  }

  if (all_opened)
  {
    ...
                                                                               /*  stdio:close? */  
  }
  else
  {
    ...
                                                                               /*  stdio:close? */  
  }
}