#include<stdio.h>
#include<sys/file.h>

#include "inquir.h"

extern int errno;
extern char *sys_errlist[];

main(argc, argv)
int argc;
char **argv;
    {
    int usal;
    char sysline[1000];

    setup_strings();

    if ( argc != 2 )
	{
	fprintf(stderr,"Usage:  %s output_file_of_aliases\n",argv[0]);
	exit(-1);
	}

    if ((usal = open(Aliases, (O_RDWR || O_CREAT), 0664)) < 0)
	{
	fprintf(stderr,"can't open aliases file '%s':  %s\n",
	    Aliases, sys_errlist[errno]);
	exit(-1);
	}
    if (flock(usal, LOCK_EX) < 0)
	{
	fprintf(stderr,"can't lock aliases file '%s':  %s\n",
	    Aliases, sys_errlist[errno]);
	exit(-1);
	}

    umask(0113);

    sprintf(sysline, "%s >%s.tmp", Forwardbuilder, argv[1]);
    system(sysline);

    sprintf(sysline,"%s.tmp",argv[1]);
    if (rename(sysline, argv[1]) < 0)
	perror("rename");

    flock(usal, LOCK_UN);
    close(usal);
    return(0);
    }
