|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T o
Length: 3438 (0xd6e) Types: TextFile Names: »oiddump.c«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« └─⟦d3ac74d73⟧ └─⟦this⟧ »isode-5.0/others/quipu/tools/oiddump/oiddump.c«
/* oiddump.c - dump OID tables */ #ifndef lint static char *rcsid = "$Header: /f/osi/others/quipu/tools/oiddump/RCS/oiddump.c,v 6.0 89/03/18 23:34:24 mrose Rel $"; #endif /* * $Header: /f/osi/others/quipu/tools/oiddump/RCS/oiddump.c,v 6.0 89/03/18 23:34:24 mrose Rel $ * * * $Log: oiddump.c,v $ * Revision 6.0 89/03/18 23:34:24 mrose * Release 5.0 * */ /* * NOTICE * * Acquisition, use, and distribution of this module and related * materials are subject to the restrictions of a license agreement. * Consult the Preface in the User's Manual for the full terms of * this agreement. * */ #include <stdio.h> #include <varargs.h> #include "psap2.h" #include "logger.h" #include "tailor.h" #include "quipu/common.h" #include "quipu/util.h" #include "quipu/dua.h" /* \f DATA */ static char *myname = "oiddump"; static int verbose = 0; char *pflag = NULLCP; char *defname = "default"; void adios (), advise (); /* \f MAIN */ /* ARGSUSED */ main (argc, argv, envp) int argc; char **argv, **envp; { PS ps; arginit (argv); if ((ps = ps_alloc (std_open)) == NULLPS) adios (NULLCP, "ps_alloc failed"); if (std_setup (ps, stdout) == NOTOK) adios (NULLCP, "std_setup failed"); dumpalloid (); exit (0); } /* \f ARGINIT */ static arginit (vec) char **vec; { register char *ap; if (myname = rindex (*vec, '/')) myname++; if (myname == NULL || *myname == NULL) myname = *vec; isodetailor (myname, 1); for (vec++; ap = *vec; vec++) { if (*ap == '-') switch (*++ap) { case 'v': verbose++; continue; case 'p': vec++; if ((pflag = *vec) == NULL || *pflag == '-') goto usage; continue; default: adios (NULLCP, "-%s: unknown switch", ap); } usage: ; adios (NULLCP, "usage: %s [switches]", myname); } if (pflag == NULLCP) pflag = PLocalHostName (); { extern char *oidtable; if (tai_init (myname) != OK) adios (NULLCP, "Tailoring failed"); load_oid_table (oidtable); get_default_acl (); } } /* \f INTERACTIVE */ static int getline (prompt, buffer) char *prompt, *buffer; { register int i; register char *cp, *ep; static int sticky = 0; if (sticky) { sticky = 0; return NOTOK; } printf ("%s ", prompt); (void) fflush (stdout); for (ep = (cp = buffer) + BUFSIZ - 1; (i = getchar ()) != '\n';) { if (i == EOF) { printf ("\n"); clearerr (stdin); if (cp != buffer) { sticky++; break; } return NOTOK; } if (cp < ep) *cp++ = i; } *cp = NULL; return OK; } /* \f ERRORS */ #ifndef lint void _advise (); void adios (va_alist) va_dcl { va_list ap; va_start (ap); _advise (ap); va_end (ap); _exit (1); } #else /* VARARGS */ void adios (what, fmt) char *what, *fmt; { adios (what, fmt); } #endif #ifndef lint void advise (va_alist) va_dcl { va_list ap; va_start (ap); _advise (ap); va_end (ap); } static void _advise (ap) va_list ap; { char buffer[BUFSIZ]; asprintf (buffer, ap); (void) fflush (stdout); fprintf (stderr, "%s: ", myname); (void) fputs (buffer, stderr); (void) fputc ('\n', stderr); (void) fflush (stderr); } #else /* VARARGS */ void advise (what, fmt) char *what, *fmt; { advise (what, fmt); } #endif