static char rcsid[] = "@(#)$Id: newalias.c,v 1.4 1996/03/14 17:30:09 wfp5p Exp $";
/*******************************************************************************
* The Elm Mail System - $Revision: 1.4 $ $State: Exp $
*
* Copyright (c) 1988-1995 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
*******************************************************************************
* Bug reports, patches, comments, suggestions should be sent to:
*
* Bill Pemberton, Elm Coordinator
* flash@virginia.edu
*
*******************************************************************************
* $Log: newalias.c,v $
* Revision 1.4 1996/03/14 17:30:09 wfp5p
* Alpha 9
*
* Revision 1.3 1995/09/29 17:42:45 wfp5p
* Alpha 8 (Chip's big changes)
*
* Revision 1.2 1995/04/20 21:02:08 wfp5p
* Added the showreply feature and emacs key bindings.
*
* Revision 1.1.1.1 1995/04/19 20:38:40 wfp5p
* Initial import of elm 2.4 PL0 as base for elm 2.5.
*
******************************************************************************/
/** Install a new set of aliases for the 'Elm' mailer.
If invoked without the -g argument, it assumes that
it is working with an individual users alias tables, and
generates the .alias.pag and .alias.dir files in their
.elm directory.
If, however, it is invoked with the -g flag,
it assumes that the user is updating the system alias
file and uses the defaults for everything.
The format for the input file is;
alias1, alias2, ... = username = address
or alias1, alias2, ... = groupname= member, member, member, ...
member, member, member, ...
**/
#define INTERN
#include "elm_defs.h"
#include "s_newalias.h"
void error();
int is_system=0; /* system file updating? */
int sleepmsg=0; /* not in elm, dont wait for messages */
main(argc, argv)
int argc;
char *argv[];
{
char inputname[SLEN], dataname[SLEN];
int a;
initialize_common();
for (a = 1; a < argc; ++a) {
if (strcmp(argv[a], "-g") == 0)
is_system = 1;
#ifdef DEBUG
else if (strcmp(argv[a], "-d") == 0)
debug = 10;
#endif
else {
fprintf(stderr, catgets(elm_msg_cat,
NewaliasSet, NewaliasUsage, "Usage: %s [-g]\n"), argv[0]);
exit(1);
}
}
if (is_system) { /* update system aliases */
printf(catgets(elm_msg_cat, NewaliasSet, NewaliasUpdateSystem,
"Updating the system alias file..."));
strcpy(inputname, system_text_file);
strcpy(dataname, system_data_file);
}
else {
printf(catgets(elm_msg_cat, NewaliasSet, NewaliasUpdatePersonal,
"Updating your personal alias file..."));
MCsprintf(inputname, "%s/%s", user_home, ALIAS_TEXT);
MCsprintf(dataname, "%s/%s", user_home, ALIAS_DATA);
}
if ((a = do_newalias(inputname, dataname, FALSE, TRUE)) < 0) {
exit(1);
}
else {
printf(catgets(elm_msg_cat, NewaliasSet, NewaliasProcessed,
"processed %d aliases.\n"), a);
exit(0);
}
/*NOTREACHED*/
}
void
error(err_message)
char *err_message;
{
fflush(stdout);
fprintf(stderr, "\n%s\n", err_message);
return;
}
syntax highlighted by Code2HTML, v. 0.9.1