[1478] in Source-Commits
athena/bin/olc/clients/olc olc.c
daemon@ATHENA.MIT.EDU (Greg Hudson)
Wed Apr 30 13:49:44 1997
From: Greg Hudson <ghudson@MIT.EDU>
To: source-commits@MIT.EDU
Date: Wed, 30 Apr 1997 13:49:41 EDT
Update of /afs/dev.mit.edu/source/repository/athena/bin/olc/clients/olc
In directory the-light-fantastic:/afs/dev.mit.edu/user/ghudson/progress/olc/clients/olc
Modified Files:
olc.c
Log Message:
From bert:
Changes to support config files (to make olc*, olt* and owl* one
binary):
* Replaced the OLC and OLCR command table initializers with a
single "template" table which can accomodate differences
between various olc-like client binaries.
* Removed extern declarations for int OLC, HELP_FILE,
HELP_DIR, HELP_EXT.
In main():
* Removed "magic" comparison to determine from argv[0] if this
is supposed to be a user or a consulting client.
* Removed hardcoding of HELP_FILE, HELP_DIR and HELP_EXT.
Added code to support "incarnating" a particular client from
its configuration file, found in path given by OLXX_PATH or
cmd line.
* Added new command line options to deal with specifying
client name without argv[0] hacking ("-name") specifying the
search path for the config file ("-config").
In build_command_table():
* This function was added to build a command table at
run-time, based on client "incarnation" parameters.
In olc_init():
* Updated the copyright message.
* OLC (in an irrelevant context) changed to 0
* Replaced an #if to determine if "answers" and "hours" are
available with a run-time check using client_has_answers()
or client_has_hours().
Decreased ugliness: Changed all putenv()/setenv() alternatives to use
a single function call instead (to set_env_var(), which was also
added).
Removed a bug which made flags with no arguments cause unusual
behavior or segmentation faults.