Example #1
0
int
ranlib(char **argv)
{
	int rv;

	archive = *argv;
	do {
		rv = options & AR_T? touch() : do_ranlib();
		if (!rv && *argv)
			archive = *argv;
	} while (rv && *argv++);

	return rv;
}
Example #2
0
int
main (int argc, char *argv[])
{
  char **argp;
  int noopts = 0;
  int narch = 0;

  for (argp = argv + 1; *argp; ++argp)
    {
      if (!noopts && (*argp)[0] == '-')
        {
          int i;

          if ((*argp)[1] == '-')
            {
              if ((*argp)[2] == '\0')
                {
                  /* end of options */
                  noopts = 1;
                  continue;
                }
              else
                {
                  /* long option */
                  for (i = 0; i < NELEM (opts); ++i)
                    {
                      if (0 == strcmp (&(*argp)[2], opts[i].long_opt))
                        {
                          if (NULL != opts[i].optfnc)
                            {
                              (*opts[i].optfnc) ();
                              break;
                            }
                        }
                    }
                  if (i >= NELEM (opts))
                    {
                      fprintf (stderr, "pBlazRanLib: unrecognized option `%s'\n", *argp);
                      usage ();
                    }
                }
            }
          else
            {
              char *optp;

              /* short option */
              for (optp = &(*argp)[1]; *optp != '\0'; ++optp)
                {
                  for (i = 0; i < NELEM (opts); ++i)
                    {
                      if (*optp == opts[i].short_opt)
                        {
                          if (NULL != opts[i].optfnc)
                            {
                              (*opts[i].optfnc) ();
                              break;
                            }
                        }
                    }
                  if (i >= NELEM (opts))
                    {
                      fprintf (stderr, "pBlazRanLib: invalid option -- %c\n", *optp);
                      usage ();
                    }
                }
            }
        }
      else
        {
          /* not an option */
          do_ranlib (*argp);
          ++narch;
        }
    }

  if (!narch)
    usage ();

  return 0;
}