|
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: 2975 (0xb9f) Types: TextFile Names: »args.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦this⟧ »EUUGD11/euug-87hel/sec1/elm/src/args.c«
/** args.c **/ /** starting argument parsing routines for ELM system... (C) Copyright 1986 Dave Taylor **/ #include "headers.h" #define DONE 0 #define ERROR -1 extern char *optional_arg; /* optional argument as we go */ extern int opt_index; /* argnum + 1 when we leave */ void exit(); /* just keeping lint happy.... */ parse_arguments(argc, argv, to_whom) int argc; char *argv[], *to_whom; { /** Set flags according to what was given to program. If we are fed a name or series of names, put them into the 'to_whom' buffer and set "mail_only" to TRUE **/ register int c = 0, check_size = 0; char *strcpy(); infile[0] = '\0'; to_whom[0] = '\0'; batch_subject[0] = '\0'; while ((c = get_options(argc, argv, "?acd:f:hkKms:wz")) > 0) { switch (c) { case 'a' : arrow_cursor++; break; case 'c' : check_only++; break; case 'd' : debug = atoi(optional_arg); break; case 'f' : strcpy(infile, optional_arg); mbox_specified = 2; break; case '?' : case 'h' : args_help(); case 'k' : hp_terminal++; break; case 'K' : hp_terminal++; hp_softkeys++; break; case 'm' : mini_menu = 0; break; case 's' : strcpy(batch_subject, optional_arg); break; case 'w' : warnings = 0; break; case 'z' : check_size++; break; } } if (c == ERROR) { printf( "Usage: %s [achkKmwz] [-d level] [-f file] [-s subject] <names>\n\n", argv[0]); args_help(); } if (opt_index < argc) { while (opt_index < argc) { sprintf(to_whom, "%s%s%s", to_whom, to_whom[0] != '\0'? " " : "", argv[opt_index]); mail_only++; opt_index++; } check_size = 0; /* NEVER do this if we're mailing!! */ } if (strlen(batch_subject) > 0 && ! mail_only) exit(printf( "\n\rDon't understand specifying a subject and no-one to send to!\n\r")); if (!isatty(fileno(stdin)) && strlen(batch_subject) == 0 && !check_only) strcpy(batch_subject, DEFAULT_BATCH_SUBJECT); if (check_size) check_mailfile_size(); } args_help() { /** print out possible starting arguments... **/ printf("\nPossible Starting Arguments for ELM program:\n\n"); printf("\targ\t\t\tMeaning\n"); printf("\t -a \t\tArrow - use the arrow pointer regardless\n"); printf("\t -c \t\tCheckalias - check the given aliases only\n"); printf("\t -dn\t\tDebug - set debug level to 'n'\n"); printf("\t -fx\t\tFile - read file 'x' rather than mailbox\n"); printf("\t -h \t\tHelp - give this list of options\n"); printf("\t -k \t\tKeypad - enable HP 2622 terminal keyboard\n"); printf("\t -K \t\tKeypad&softkeys - enable use of softkeys + \"-k\"\n"); printf("\t -m \t\tMenu - Turn off menu, using more of the screen\n"); printf("\t -sx\t\tSubject 'x' - for batchmailing\n"); printf("\t -w \t\tSupress warning messages...\n"); printf("\t -z \t\tZero - don't enter Elm if no mail is pending\n"); printf("\n"); printf("\n"); exit(1); }