This is newalias.c in view mode; [Download] [Up]
static char rcsid[] = "@(#)$Id: newalias.c,v 5.3 1992/10/11 01:10:31 syd Exp $"; /******************************************************************************* * The Elm Mail System - $Revision: 5.3 $ $State: Exp $ * * Copyright (c) 1988-1992 USENET Community Trust * Copyright (c) 1986,1987 Dave Taylor ******************************************************************************* * Bug reports, patches, comments, suggestions should be sent to: * * Syd Weinstein, Elm Coordinator * elm@DSI.COM dsinc!elm * ******************************************************************************* * $Log: newalias.c,v $ * Revision 5.3 1992/10/11 01:10:31 syd * Add missing setlocale and catopen (just forgotten) * From: Syd * * Revision 5.2 1992/10/11 00:59:39 syd * Fix some compiler warnings that I receive compiling Elm on my SVR4 * machine. * From: Tom Moore <tmoore@fievel.DaytonOH.NCR.COM> * * Revision 5.1 1992/10/04 00:46:45 syd * Initial checkin as of 2.4 Release at PL0 * * ******************************************************************************/ /** 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, ... **/ #include "elmutil.h" #include "s_newalias.h" #include "sysdefs.h" /* ELM system definitions */ void error(); #ifdef DEBUG FILE *debugfile = stderr; int debug = 0; #endif int is_system=0; /* system file updating? */ main(argc, argv) int argc; char *argv[]; { char inputname[SLEN], dataname[SLEN]; char home_dir[SLEN]; /* the users home directory */ int a; #ifdef I_LOCALE setlocale(LC_ALL, ""); #endif elm_msg_cat = catopen("elm2.4", 0); 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...")); if (strcpy(home_dir, getenv("HOME")) == NULL) { error(catgets(elm_msg_cat, NewaliasSet, NewaliasNoHOME, "I'm confused - no HOME variable in environment!")); exit(1); } MCsprintf(inputname, "%s/%s", home_dir, ALIAS_TEXT); MCsprintf(dataname, "%s/%s", home_dir, 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; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.