|
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 a
Length: 2623 (0xa3f) Types: TextFile Names: »args.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦e83f91978⟧ »EurOpenD22/isode/osimis-2.0.tar.Z« └─⟦d846658bd⟧ └─⟦this⟧ »osimis/smap/args.c«
/* * Copyright (c) 1988 University College London * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by the Department of Computer Science, University College London. * The name of the University may not be used to * endorse or promote products derived from this software without * specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ /* parses command line args or accepts args interactively */ /* * By George Pavlou, October 1988 */ #include <stdio.h> #include "config.h" #include "defs.h" extern char *hosts[], host[]; extern int NofHosts; int parse_args (argc, argv) int argc; char **argv; { switch (argc) { case 1: if (NofHosts == 0) error(NULLCP, "needs configuration file - specify host name"); if (strcmp(argv[0], "osimic") == 0) return (mic_user_interface()); return (user_interface()); case 2: strcpy(host, argv[1]); if (strcmp(host, "all") == 0) { if (strcmp(argv[0], "osimic") == 0) { fprintf(stderr, "usage: %s [<host>]\n", argv[0]); exit(1); } if (NofHosts == 0) error(NULLCP, "needs configuration file for option `all'"); return (ALL); } if (NofHosts && host2indx(host, hosts, NofHosts) == -1) return (NOTOK); return (HOST); default: if (strcmp(argv[0], "osimic") == 0) fprintf(stderr, "usage: %s [<host>]\n", argv[0]); else fprintf(stderr, "usage: %s [<host> | all]\n", argv[0]); exit(1); } } static int user_interface () { int i; printf("Supported hosts:\n"); for (i = 0; i < NofHosts; i++) printf(" %s\n", hosts[i]); printf(" all\nhost? "); scanf("%s", host); putc('\n', stdout); if (strcmp(host, "all") == 0) return (ALL); else if (host2indx(host, hosts, NofHosts) == NOTOK) return (NOTOK); return (HOST); } static int mic_user_interface () { int i; printf("Supported hosts:\n"); for (i = 0; i < NofHosts; i++) printf(" %s\n", hosts[i]); printf("host? "); scanf("%s", host); if (host2indx(host, hosts, NofHosts) == NOTOK) return (NOTOK); return (HOST); }