]> andersk Git - moira.git/commitdiff
Import latest com_err sources from Athena
authordanw <danw>
Thu, 5 Feb 1998 22:12:59 +0000 (22:12 +0000)
committerdanw <danw>
Thu, 5 Feb 1998 22:12:59 +0000 (22:12 +0000)
19 files changed:
util/et/Makefile [deleted file]
util/et/Makefile.in [new file with mode: 0644]
util/et/com_err.c
util/et/com_err.h
util/et/compile_et.c
util/et/compiler.h [deleted file]
util/et/configure [new file with mode: 0755]
util/et/configure.in [new file with mode: 0644]
util/et/error_message.c
util/et/error_table.h
util/et/error_table.y
util/et/et_lex.lex.l
util/et/et_name.c
util/et/init_et.c
util/et/internal.h [deleted file]
util/et/mit-sipb-copyright.h
util/et/test.c [deleted file]
util/et/test1.et [deleted file]
util/et/test2.et [deleted file]

diff --git a/util/et/Makefile b/util/et/Makefile
deleted file mode 100644 (file)
index 3f24715..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-#
-# Makefile for error-table routines
-#
-# Copyright 1987, 1989 MIT Student Information Processing Board
-# For copyright info, see mit-sipb-copyright.h.
-#
-#      $Header$
-#      $Locker$
-#
-
-CFLAGS=        -O -I../../include
-LINTFLAGS= -uhvpb
-LINTFILES= error_message.c et_name.c init_et.c com_err.c
-LIBOBJS= error_message.o et_name.o init_et.o com_err.o
-DEPEND=$(BUILDTOP)/util/makedepend/makedepend
-
-BINDIR=/usr/athena
-INCDIR=/usr/include
-LIBDIR=/usr/athena/lib
-DOCDIR=/usr/doc/athena
-DESTDIR=
-
-FILES= Makefile et_name.c error_message.c compile_et.c \
-               error_table.y et_lex.lex.l init_et.c \
-               com_err.c com_err.h \
-               error_table.h mit-sipb-copyright.h \
-               test.c test1.et test2.et \
-               compiler.h internal.h
-
-CFILES=        compile_et.c error_table.c error_message.c et_name.c \
-       init_et.c com_err.c
-
-#
-# what to build...
-#
-all:   compile_et libcom_err.a
-
-lint:  llib-lcom_err.ln
-
-archive:       et.tar
-
-doc:   com_err.dvi
-
-#
-# rules
-#
-.SUFFIXES: .h .c .et .ps .x9700 .mss .dvi .texinfo
-
-.et.c:
-       ./compile_et $*.et
-
-.et.h:
-       ./compile_et $*.et
-
-.texinfo.dvi:
-       tex $<
-
-.dvi.ps:
-       rm -f $@.new
-       dvi2ps -r $< > $@.new
-       mv $@.new $@
-
-.c.o:
-       ${CC} -c ${CFLAGS} $*.c
-
-#
-# real entries...
-#
-compile_et:    compile_et.o error_table.o
-       ${CC} ${CFLAGS} -o compile_et compile_et.o error_table.o -ll
-
-et.tar:        ${FILES}
-       rm -f et.tar
-       tar cfrlv et.tar ${FILES}
-
-tags:  TAGS
-
-com_err.ps : com_err.dvi
-com_err.dvi: com_err.texinfo
-
-install: all
-#      install -c -s compile_et ${DESTDIR}${BINDIR}/compile_et
-#      install -c -m 444 com_err.h ${DESTDIR}${INCDIR}/com_err.h
-#      install -c -m 444 mit-sipb-copyright.h \
-#                              ${DESTDIR}${INCDIR}/mit-sipb-copyright.h
-#      install -c libcom_err.a ${DESTDIR}${LIBDIR}/libcom_err.a
-#      ranlib ${DESTDIR}${LIBDIR}/libcom_err.a
-#      install -c libcom_err_p.a ${DESTDIR}${LIBDIR}/libcom_err_p.a
-#      ranlib ${DESTDIR}${LIBDIR}/libcom_err_p.a
-#      install -c com_err.texinfo ${DESTDIR}${DOCDIR}/com_err.texinfo
-#      install -c com_err.3 ${DESTDIR}/usr/man/man3/com_err.3
-#      install -c compile_et.1 ${DESTDIR}/usr/man/man1/compile_et.1
-
-config:
-       -mkdir $(DESTDIR)/util/et
-       for i in $(FILES); do \
-               rm -f ${DESTDIR}/util/et/`basename $$i`; \
-               ln -s $(SRCDIR)/util/et/$$i ${DESTDIR}/util/et/`basename $$i`; done
-       rm -f ${DESTDIR}/util/et/Makefile
-       cp ${SRCDIR}/util/et/Makefile ${DESTDIR}/util/et/Makefile
-       chmod 644 ${DESTDIR}/util/et/Makefile
-
-
-TAGS:  et_name.c error_message.c compile_et.c error_table.c \
-               lex.yy.c perror.c init_et.c
-       etags et_name.c error_message.c compile_et.c \
-               error_table.c perror.c init_et.c
-
-libcom_err.a:  $(LIBOBJS)
-       ar cruv libcom_err.a $(LIBOBJS)
-       ranlib libcom_err.a
-
-libcom_err_p.a:        $(LIBOBJS)
-       (cd profiled; ar uv ../libcom_err_p.a $(LIBOBJS); \
-               ranlib ../libcom_err_p.a)
-
-libcom_err.o:  $(LIBOBJS)
-       ld -r -s -o libcom_err.o $(LIBOBJS)
-       chmod -x libcom_err.o
-
-llib-lcom_err.ln: $(LINTFILES)
-       lint -Ccom_err $(LINTFLAGS) $(LINTFILES)
-
-clean:
-       rm -f *~ \#* *.bak \
-               *.otl *.aux *.toc *.PS *.dvi *.x9700 *.ps \
-               *.cp *.fn *.ky *.log *.pg *.tp *.vr \
-               *.o profiled/*.o libcom_err.a libcom_err_p.a \
-               com_err.o compile_et \
-               et.ar TAGS y.tab.c lex.yy.c error_table.c \
-               et_lex.lex.c \
-               test1.h test1.c test2.h test2.c test \
-               eddep makedep
-
-# for testing
-test:  test.o test1.o test2.o libcom_err.a
-       cc ${CFLAGS} -o test test.o test1.o test2.o libcom_err.a
-test.o:        test1.h test2.h
-test1.o : test1.c
-test1.c : test1.et
-test2.o : test2.c
-test2.c : test2.et
-# 'make depend' code
-depend: ${CFILES} et_lex.lex.c
-       @${DEPEND} ${CFLAGS} ${CFILES}
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-compile_et.o: /usr/include/stdio.h /usr/include/sys/types.h
-compile_et.o: /usr/include/sys/file.h /usr/include/string.h
-compile_et.o: /usr/include/string.h /usr/include/sys/param.h
-compile_et.o: /usr/include/machine/machparam.h /usr/include/sys/signal.h
-compile_et.o: mit-sipb-copyright.h compiler.h
-error_table.o: /usr/include/stdio.h /usr/include/string.h
-error_table.o: /usr/include/string.h /usr/include/assert.h
-error_table.o: /usr/include/ctype.h /usr/include/sys/types.h
-error_table.o: /usr/include/sys/time.h /usr/include/sys/time.h internal.h
-error_table.o: mit-sipb-copyright.h error_table.h et_lex.lex.c
-error_message.o: /usr/include/stdio.h error_table.h
-error_message.o: mit-sipb-copyright.h internal.h
-et_name.o: error_table.h mit-sipb-copyright.h internal.h
-init_et.o: /usr/include/stdio.h error_table.h
-init_et.o: mit-sipb-copyright.h
-com_err.o: /usr/include/stdio.h mit-sipb-copyright.h
-com_err.o: /usr/include/varargs.h error_table.h internal.h com_err.h
diff --git a/util/et/Makefile.in b/util/et/Makefile.in
new file mode 100644 (file)
index 0000000..1c29764
--- /dev/null
@@ -0,0 +1,49 @@
+# $Id$
+
+SHELL=/bin/sh
+VPATH=@srcdir@
+INSTALL=@INSTALL@
+INSTALL_PROGRAM=@INSTALL_PROGRAM@
+RANLIB=@RANLIB@
+srcdir=@srcdir@
+top_srcdir=@top_srcdir@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+bindir=@bindir@
+libdir=@libdir@
+includedir=@includedir@
+mandir=@mandir@
+
+CC=@CC@
+YACC=@YACC@
+LEX=@LEX@
+CPPFLAGS=@CPPFLAGS@
+CFLAGS=@CFLAGS@
+LDFLAGS=@LDFLAGS@
+LIBS=@LIBS@
+ALL_CFLAGS=${CPPFLAGS} ${CFLAGS}
+
+LIBOBJS=com_err.o error_message.o et_name.o init_et.o
+BINOBJS=compile_et.o error_table.o
+
+all: libcom_err.a compile_et
+
+libcom_err.a: ${LIBOBJS}
+       ar cru $@ ${LIBOBJS}
+       ${RANLIB} $@
+
+compile_et: ${BINOBJS}
+       ${CC} ${LDFLAGS} -o compile_et ${BINOBJS} ${LIBS}
+
+error_table.o: et_lex.lex.c
+
+.c.o:
+       ${CC} -c ${ALL_CFLAGS} $<
+
+check:
+
+clean:
+       rm -f ${LIBOBJS} ${BINOBJS} compile_et libcom_err.a et_lex.lex.c
+
+distclean: clean
+       rm -f config.cache config.log config.status Makefile
index 8748db8829a6cefe3fa2e9126a5d6945f0e8dca8..1049788cf83bd3c21177d2902b3e58ab128d3f79 100644 (file)
  * For copyright info, see mit-sipb-copyright.h.
  */
 
-#include <stdio.h>
 #include "mit-sipb-copyright.h"
 
-/*
- * Our environment only provides for ANSI's <stdarg.h> when using GNU
- * C.  Grump grump...
- */
-#if ! __GNUC__
-#define VARARGS 1
-#endif
-
-/* We don't have the v*printf routines... */
-#define vfprintf(stream,fmt,args) _doprnt(fmt,args,stream)
-
-#if __STDC__ && !VARARGS
-#      include <stdarg.h>
-#else /* varargs: not STDC or no <stdarg> */
-       /* Non-ANSI, always take <varargs.h> path. */
-#      undef VARARGS
-#      define VARARGS 1
-#      include <varargs.h>
-#      undef vfprintf
-#      define vfprintf(stream,fmt,args) _doprnt(fmt,args,stream)
-#endif /* varargs */
-
+#include <stdio.h>
+#include <stdarg.h>
 #include "error_table.h"
-#include "internal.h"
-
-/*
- * Protect us from header version (externally visible) of com_err, so
- * we can survive in a <varargs.h> environment.  I think.
- */
-#define com_err com_err_external
 #include "com_err.h"
-#undef com_err
 
-/* BSD. sigh. */
-#undef vfprintf
-#define vfprintf(stream,fmt,args) _doprnt(fmt,args,stream)
+static const char rcsid[] = "$Id$";
+
+static void default_com_err_proc(const char *progname, long code,
+                                const char *fmt, va_list args);
 
-#if ! lint
-static const char rcsid[] =
-    "$Header$";
-#endif /* ! lint */
+com_err_handler_t com_err_hook = default_com_err_proc;
 
-static void
-#ifdef __STDC__
-    default_com_err_proc (const char *whoami, long code, const char *fmt, va_list args)
-#else
-    default_com_err_proc (whoami, code, fmt, args)
-    const char *whoami;
-    long code;
-    const char *fmt;
-    va_list args;
-#endif
+static void default_com_err_proc(const char *progname, long code,
+                                const char *fmt, va_list args)
 {
-    if (whoami) {
-       fputs(whoami, stderr);
+    if (progname) {
+       fputs(progname, stderr);
        fputs(": ", stderr);
     }
+
     if (code) {
        fputs(error_message(code), stderr);
        fputs(" ", stderr);
     }
-    if (fmt) {
-        vfprintf (stderr, fmt, args);
-    }
-    putc('\n', stderr);
-    /* should do this only on a tty in raw mode */
+    if (fmt)
+        vfprintf(stderr, fmt, args);
+
+    /* possibly should do the \r only on a tty in raw mode */
     putc('\r', stderr);
+    putc('\n', stderr);
     fflush(stderr);
 }
 
-#ifdef __STDC__
-typedef void (*errf) (const char *, long, const char *, va_list);
-#else
-typedef void (*errf) ();
-#endif
-
-errf com_err_hook = default_com_err_proc;
-
-void com_err_va (whoami, code, fmt, args)
-    const char *whoami;
-    long code;
-    const char *fmt;
-    va_list args;
+void com_err_va(const char *progname, long code, const char *fmt, va_list args)
 {
-    (*com_err_hook) (whoami, code, fmt, args);
+    (*com_err_hook)(progname, code, fmt, args);
 }
 
-#if ! VARARGS
-void com_err (const char *whoami,
-             long code,
-             const char *fmt, ...)
-{
-#else
-void com_err (va_alist)
-    va_dcl
+void com_err(const char *progname, long code, const char *fmt, ...)
 {
-    const char *whoami, *fmt;
-    long code;
-#endif
     va_list pvar;
 
-    if (!com_err_hook)
-       com_err_hook = default_com_err_proc;
-#if VARARGS
-    va_start (pvar);
-    whoami = va_arg (pvar, const char *);
-    code = va_arg (pvar, long);
-    fmt = va_arg (pvar, const char *);
-#else
     va_start(pvar, fmt);
-#endif
-    com_err_va (whoami, code, fmt, pvar);
+    com_err_va(progname, code, fmt, pvar);
     va_end(pvar);
 }
 
-errf set_com_err_hook (new_proc)
-    errf new_proc;
+com_err_handler_t set_com_err_hook(com_err_handler_t new_proc)
 {
-    errf x = com_err_hook;
-    if (new_proc)
-      com_err_hook = new_proc;
-    else
-      com_err_hook = default_com_err_proc;
+    com_err_handler_t x = com_err_hook;
+
+    com_err_hook = (new_proc) ? new_proc : default_com_err_proc;
     return x;
 }
 
-errf reset_com_err_hook () {
-    errf x = com_err_hook;
-    com_err_hook = default_com_err_proc;
-    return x;
+com_err_handler_t reset_com_err_hook()
+{
+    return set_com_err_hook(NULL);
 }
index 7bea01004317f583c2d7e8b31203b3556c2f5e6a..e2f7bc369ff454459dd77204996599c2e0c5aa0a 100644 (file)
@@ -8,29 +8,18 @@
  * with this package.
  */
 
-#ifndef __COM_ERR_H
+#ifndef COM_ERR__H
+#define COM_ERR__H
 
-#ifdef __STDC__
-#ifndef __HIGHC__              /* gives us STDC but not stdarg */
 #include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-/* ANSI C -- use prototypes etc */
-void com_err (const char *, long, const char *, ...);
-char const *error_message (long);
-void (*com_err_hook) (const char *, long, const char *, va_list);
-void (*set_com_err_hook (void (*) (const char *, long, const char *, va_list)))
-    (const char *, long, const char *, va_list);
-void (*reset_com_err_hook ()) (const char *, long, const char *, va_list);
-#else
-/* no prototypes */
-void com_err ();
-char *error_message ();
-void (*com_err_hook) ();
-void (*set_com_err_hook ()) ();
-void (*reset_com_err_hook ()) ();
-#endif
 
-#define __COM_ERR_H
-#endif /* ! defined(__COM_ERR_H) */
+typedef void (*com_err_handler_t)(const char *, long, const char *, va_list);
+
+void com_err(const char *progname, long code, const char *fmt, ...);
+void com_err_va(const char *progname, long code, const char *fmt,
+               va_list args);
+char const *error_message(long code);
+com_err_handler_t set_com_err_hook(com_err_handler_t handler);
+com_err_handler_t reset_com_err_hook(void);
+
+#endif
index 56074a1a4b8eb8f744ef1db49edf9a5fd39a06fe..ddc1063b2c6617eccdd450380eda25d2657bc301 100644 (file)
@@ -7,43 +7,50 @@
  *
  */
 
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/file.h>
-#include <string.h>
-#include <sys/param.h>
 #include "mit-sipb-copyright.h"
-#include "compiler.h"
 
-#ifndef __STDC__
-#define const
-#endif
+#include <sys/types.h>
+#include <sys/param.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <unistd.h>
 
-#ifndef lint
 static const char copyright[] =
     "Copyright 1987,1988 by MIT Student Information Processing Board";
 
-static const char rcsid_compile_et_c[] =
-    "$Header$";
-#endif
+static const char rcsid[] = "$Id$";
 
-extern char *gensym();
+enum lang {
+    lang_C,                    /* ANSI C (default) */
+    lang_KRC,                  /* C: ANSI + K&R */
+    lang_CPP                   /* C++ */
+};
+
+/* From gensym.y. */
+extern char *gensym(const char *x);
+extern int yyparse(void);
 extern char *current_token;
 extern int table_number, current;
-char buffer[BUFSIZ];
-char *table_name = (char *)NULL;
-FILE *hfile, *cfile;
-
-/* C library */
-extern char *malloc();
-extern int errno;
 
-/* lex stuff */
+/* From et_lex.lex.l. */
 extern FILE *yyin;
-extern int yylineno;
+extern int num_lines;
+
+FILE *hfile;
+FILE *cfile;
+char *table_name = NULL;
+
+static int debug;                      /* dump debugging info? */
+static char *filename;                 /* error table source */
+static enum lang language;
+static const char *whoami;
 
-char * xmalloc (size) unsigned int size; {
+char *xmalloc(unsigned int size)
+{
     char * p = malloc (size);
+
     if (!p) {
        perror (whoami);
        exit (1);
@@ -51,7 +58,8 @@ char * xmalloc (size) unsigned int size; {
     return p;
 }
 
-static int check_arg (str_list, arg) char const *const *str_list, *arg; {
+static int check_arg(const char *const *str_list, const char *arg)
+{
     while (*str_list)
        if (!strcmp(arg, *str_list++))
            return 1;
@@ -114,19 +122,21 @@ static const char warning[] =
 char c_file[MAXPATHLEN];       /* output file */
 char h_file[MAXPATHLEN];       /* output */
 
-static void usage () {
+static void usage() {
     fprintf (stderr, "%s: usage: %s ERROR_TABLE\n",
             whoami, whoami);
     exit (1);
 }
 
-static void dup_err (type, one, two) char const *type, *one, *two; {
+static void dup_err(const char *type, const char *one, const char *two)
+{
     fprintf (stderr, "%s: multiple %s specified: `%s' and `%s'\n",
             whoami, type, one, two);
     usage ();
 }
 
-int main (argc, argv) int argc; char **argv; {
+int main(int argc, char **argv)
+{
     char *p, *ename;
     int len;
     char const * const *cpp;
@@ -157,18 +167,18 @@ int main (argc, argv) int argc; char **argv; {
                    usage ();
                if (language)
                    dup_err ("languanges", language_names[(int)language], arg);
-#define check_lang(x,y,v) else if (!strcmp(arg,x)||!strcmp(arg,y)) language = v
-               check_lang ("c", "C", lang_C);
-               check_lang ("ansi_c", "ANSI_C", lang_C);
-               check_lang ("ansi-c", "ANSI-C", lang_C);
-               check_lang ("krc", "KRC", lang_KRC);
-               check_lang ("kr_c", "KR_C", lang_KRC);
-               check_lang ("kr-c", "KR-C", lang_KRC);
-               check_lang ("k&r-c", "K&R-C", lang_KRC);
-               check_lang ("k&r_c", "K&R_C", lang_KRC);
-               check_lang ("c++", "C++", lang_CPP);
-               check_lang ("cplusplus", "CPLUSPLUS", lang_CPP);
-               check_lang ("c-plus-plus", "C-PLUS-PLUS", lang_CPP);
+#define check_lang(x,v) else if (!strcasecmp(arg,x)) language = v
+               check_lang ("c", lang_C);
+               check_lang ("ansi_c", lang_C);
+               check_lang ("ansi-c", lang_C);
+               check_lang ("krc", lang_KRC);
+               check_lang ("kr_c", lang_KRC);
+               check_lang ("kr-c", lang_KRC);
+               check_lang ("k&r-c", lang_KRC);
+               check_lang ("k&r_c", lang_KRC);
+               check_lang ("c++", lang_CPP);
+               check_lang ("cplusplus", lang_CPP);
+               check_lang ("c-plus-plus", lang_CPP);
 #undef check_lang
                else {
                    fprintf (stderr, "%s: unknown language name `%s'\n",
@@ -187,7 +197,7 @@ int main (argc, argv) int argc; char **argv; {
     if (!filename)
        usage ();
     if (!got_language)
-       language = lang_KRC;
+       language = lang_C;
     else if (language == lang_CPP) {
        fprintf (stderr, "%s: Sorry, C++ support is not yet finished.\n",
                 whoami);
@@ -198,7 +208,7 @@ int main (argc, argv) int argc; char **argv; {
     strcpy (p, filename);
     filename = p;
     p = strrchr(filename, '/');
-    if (p == (char *)NULL)
+    if (p == NULL)
        p = filename;
     else
        p++;
@@ -223,14 +233,14 @@ int main (argc, argv) int argc; char **argv; {
     }
 
     hfile = fopen(h_file, "w");
-    if (hfile == (FILE *)NULL) {
+    if (hfile == NULL) {
        perror(h_file);
        exit(1);
     }
     fprintf (hfile, warning, h_file);
 
     cfile = fopen(c_file, "w");
-    if (cfile == (FILE *)NULL) {
+    if (cfile == NULL) {
        perror(c_file);
        exit(1);
     }
@@ -254,24 +264,29 @@ int main (argc, argv) int argc; char **argv; {
     for (cpp = struct_def; *cpp; cpp++)
        fputs (*cpp, cfile);
     fprintf(cfile,
-           "static const struct error_table et = { text, %ldL, %d };\n\n",
-           table_number, current);
-    fputs("static struct et_list link = { 0, 0 };\n\n",
+           "const struct error_table et_%s_error_table = { text, %ldL, %d };",
+           table_name, (long) table_number, current);
+    fputs("\n\nstatic struct et_list link = { 0, 0 };\n\n",
          cfile);
     fprintf(cfile, "void initialize_%s_error_table (%s) {\n",
            table_name, (language == lang_C) ? "void" : "NOARGS");
     fputs("    if (!link.table) {\n", cfile);
     fputs("        link.next = _et_list;\n", cfile);
-    fputs("        link.table = &et;\n", cfile);
+    fprintf(cfile, "        link.table = &et_%s_error_table;\n", table_name);
     fputs("        _et_list = &link;\n", cfile);
     fputs("    }\n", cfile);
     fputs("}\n", cfile);
     fclose(cfile);
 
-    fprintf (hfile, "extern void initialize_%s_error_table ();\n",
-            table_name);
+    if (language == lang_KRC) {
+       fprintf (hfile, "extern void initialize_%s_error_table ();\n",
+                table_name);
+    } else {
+       fprintf (hfile, "void initialize_%s_error_table (void);\n",
+                table_name);
+    }
     fprintf (hfile, "#define ERROR_TABLE_BASE_%s (%ldL)\n",
-            table_name, table_number);
+            table_name, (long) table_number);
     /* compatibility... */
     fprintf (hfile, "\n/* for compatibility with older versions... */\n");
     fprintf (hfile, "#define init_%s_err_tbl initialize_%s_error_table\n",
@@ -283,8 +298,10 @@ int main (argc, argv) int argc; char **argv; {
     return 0;
 }
 
-int yyerror(s) char *s; {
+int yyerror(char *s)
+{
     fputs(s, stderr);
     fprintf(stderr, "\nLine number %d; last token was '%s'\n",
-           yylineno, current_token);
+           num_lines, current_token);
+    return 0;
 }
diff --git a/util/et/compiler.h b/util/et/compiler.h
deleted file mode 100644 (file)
index 43752e2..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * definitions common to the source files of the error table compiler
- */
-
-#ifndef __STDC__
-/* loser */
-#undef const
-#define const
-#endif
-
-enum lang {
-    lang_C,                    /* ANSI C (default) */
-    lang_KRC,                  /* C: ANSI + K&R */
-    lang_CPP                   /* C++ */
-};
-
-int debug;                     /* dump debugging info? */
-char *filename;                        /* error table source */
-enum lang language;
-const char *whoami;
diff --git a/util/et/configure b/util/et/configure
new file mode 100755 (executable)
index 0000000..886ceb2
--- /dev/null
@@ -0,0 +1,1086 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.12 
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  case "$ac_option" in
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) ac_optarg= ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case "$ac_option" in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir="$ac_optarg" ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build="$ac_optarg" ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file="$ac_optarg" ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir="$ac_optarg" ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    eval "enable_${ac_feature}=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix="$ac_optarg" ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he)
+    # Omit some internal or obsolete options to make the list less imposing.
+    # This message is too long to be a string in the A/UX 3.1 sh.
+    cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+  --cache-file=FILE       cache test results in FILE
+  --help                  print this message
+  --no-create             do not create output files
+  --quiet, --silent       do not print \`checking...' messages
+  --version               print the version of autoconf that created configure
+Directory and file names:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [same as prefix]
+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
+  --datadir=DIR           read-only architecture-independent data in DIR
+                          [PREFIX/share]
+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
+                          [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
+  --includedir=DIR        C header files in DIR [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
+  --infodir=DIR           info documentation in DIR [PREFIX/info]
+  --mandir=DIR            man documentation in DIR [PREFIX/man]
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
+  --program-prefix=PREFIX prepend PREFIX to installed program names
+  --program-suffix=SUFFIX append SUFFIX to installed program names
+  --program-transform-name=PROGRAM
+                          run sed PROGRAM on installed program names
+EOF
+    cat << EOF
+Host type:
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
+  --host=HOST             configure for HOST [guessed]
+  --target=TARGET         configure for TARGET [TARGET=HOST]
+Features and packages:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --x-includes=DIR        X include files are in DIR
+  --x-libraries=DIR       X library files are in DIR
+EOF
+    if test -n "$ac_help"; then
+      echo "--enable and --with options recognized:$ac_help"
+    fi
+    exit 0 ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host="$ac_optarg" ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir="$ac_optarg" ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir="$ac_optarg" ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir="$ac_optarg" ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir="$ac_optarg" ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir="$ac_optarg" ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir="$ac_optarg" ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir="$ac_optarg" ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix="$ac_optarg" ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix="$ac_optarg" ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix="$ac_optarg" ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name="$ac_optarg" ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir="$ac_optarg" ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir="$ac_optarg" ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site="$ac_optarg" ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir="$ac_optarg" ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir="$ac_optarg" ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target="$ac_optarg" ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers)
+    echo "configure generated by autoconf version 2.12"
+    exit 0 ;;
+
+  -with-* | --with-*)
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_${ac_package}='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    eval "with_${ac_package}=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes="$ac_optarg" ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries="$ac_optarg" ;;
+
+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+    ;;
+
+  *)
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
+    fi
+    if test "x$nonopt" != xNONE; then
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+    fi
+    nonopt="$ac_option"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+  case "$ac_arg" in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c) ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set.  These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=com_err.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    echo "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='       '
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:526: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="gcc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:555: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  ac_prog_rejected=no
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+        ac_prog_rejected=yes
+       continue
+      fi
+      ac_cv_prog_CC="cc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# -gt 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    set dummy "$ac_dir/$ac_word" "$@"
+    shift
+    ac_cv_prog_CC="$@"
+  fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:603: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 613 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cc_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cc_cross=no
+  else
+    ac_cv_prog_cc_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:637: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:642: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:651: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gcc=yes
+else
+  ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+  GCC=yes
+  ac_test_CFLAGS="${CFLAGS+set}"
+  ac_save_CFLAGS="$CFLAGS"
+  CFLAGS=
+  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:666: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+  ac_cv_prog_cc_g=yes
+else
+  ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+  if test "$ac_test_CFLAGS" = set; then
+    CFLAGS="$ac_save_CFLAGS"
+  elif test $ac_cv_prog_cc_g = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-O2"
+  fi
+else
+  GCC=
+  test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+for ac_prog in 'bison -y' byacc
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:698: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$YACC"; then
+  ac_cv_prog_YACC="$YACC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_YACC="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+YACC="$ac_cv_prog_YACC"
+if test -n "$YACC"; then
+  echo "$ac_t""$YACC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$YACC" && break
+done
+test -n "$YACC" || YACC="yacc"
+
+# Extract the first word of "flex", so it can be a program name with args.
+set dummy flex; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:730: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$LEX"; then
+  ac_cv_prog_LEX="$LEX" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_LEX="flex"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_LEX" && ac_cv_prog_LEX="lex"
+fi
+fi
+LEX="$ac_cv_prog_LEX"
+if test -n "$LEX"; then
+  echo "$ac_t""$LEX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$LEXLIB"
+then
+  case "$LEX" in
+  flex*) ac_lib=fl ;;
+  *) ac_lib=l ;;
+  esac
+  echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
+echo "configure:763: checking for yywrap in -l$ac_lib" >&5
+ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-l$ac_lib  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 771 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char yywrap();
+
+int main() {
+yywrap()
+; return 0; }
+EOF
+if { (eval echo configure:782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  LEXLIB="-l$ac_lib"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+# Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:807: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+  case `(ac_space=' '; set) 2>&1` in
+  *ac_space=\ *)
+    # `set' does not quote correctly, so add quotes (double-quote substitution
+    # turns \\\\ into \\, and sed turns \\ into \).
+    sed -n \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[        ]*VPATH[        ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[    `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+  case "\$ac_option" in
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+    echo "$CONFIG_STATUS generated by autoconf version 2.12"
+    exit 0 ;;
+  -help | --help | --hel | --he | --h)
+    echo "\$ac_cs_usage"; exit 0 ;;
+  *) echo "\$ac_cs_usage"; exit 1 ;;
+  esac
+done
+
+ac_given_srcdir=$srcdir
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@CC@%$CC%g
+s%@YACC@%$YACC%g
+s%@LEX@%$LEX%g
+s%@LEXLIB@%$LEXLIB%g
+s%@RANLIB@%$RANLIB%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+  if test $ac_beg -gt 1; then
+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+  else
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+  fi
+  if test ! -s conftest.s$ac_file; then
+    ac_more_lines=false
+    rm -f conftest.s$ac_file
+  else
+    if test -z "$ac_sed_cmds"; then
+      ac_sed_cmds="sed -f conftest.s$ac_file"
+    else
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+    fi
+    ac_file=`expr $ac_file + 1`
+    ac_beg=$ac_end
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+  fi
+done
+if test -z "$ac_sed_cmds"; then
+  ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    # The file is in a subdirectory.
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$ac_given_srcdir" in
+  .)  srcdir=.
+      if test -z "$ac_dots"; then top_srcdir=.
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  *) # Relative path.
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+
+  echo creating "$ac_file"
+  rm -f "$ac_file"
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+  case "$ac_file" in
+  *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+  *) ac_comsub= ;;
+  esac
+
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/util/et/configure.in b/util/et/configure.in
new file mode 100644 (file)
index 0000000..ceedba7
--- /dev/null
@@ -0,0 +1,9 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(com_err.c)
+
+AC_PROG_CC
+AC_PROG_YACC
+AC_PROG_LEX
+AC_PROG_RANLIB
+
+AC_OUTPUT(Makefile)
index 21c926caa94f6af02c0c7f061b192294b3f90933..91ceb78024e79da2b8e10b893cfe98c2fd8aa57a 100644 (file)
  */
 
 #include <stdio.h>
+#include <string.h>
 #include "error_table.h"
 #include "mit-sipb-copyright.h"
-#include "internal.h"
 
-static const char rcsid[] =
-    "$Header$";
+static const char rcsid[] = "$Id$";
 static const char copyright[] =
     "Copyright 1986, 1987, 1988 by the Student Information Processing Board\nand the department of Information Systems\nof the Massachusetts Institute of Technology";
 
 static char buffer[25];
 
-struct et_list * _et_list = (struct et_list *) NULL;
+struct et_list *_et_list = NULL;
 
-const char * error_message (code)
-long   code;
+const char *error_message(long code)
 {
     int offset;
     struct et_list *et;
@@ -34,12 +32,8 @@ long code;
 
     offset = code & ((1<<ERRCODE_RANGE)-1);
     table_num = code - offset;
-    if (!table_num) {
-       if (offset < sys_nerr)
-           return(sys_errlist[offset]);
-       else
-           goto oops;
-    }
+    if (!table_num)
+       return strerror(offset);
     for (et = _et_list; et; et = et->next) {
        if (et->table->base == table_num) {
            /* This is the right table */
index 78f7db200f779917e964c072c3e90a5ca96c5f47..b3737b1c2c14d8acc23ab95b08c1fdbf74fdf959 100644 (file)
@@ -5,14 +5,11 @@
  * For copyright info, see mit-sipb-copyright.h.
  */
 
-#ifndef _ET_H
-/* Are we using ANSI C? */
-#ifndef __STDC__
-#define const
-#endif
-extern int errno;
+#ifndef ET__H
+#define ET__H
+
 struct error_table {
-    char const * const * msgs;
+    const char *const *msgs;
     long base;
     int n_msgs;
 };
@@ -20,11 +17,10 @@ struct et_list {
     struct et_list *next;
     const struct error_table *table;
 };
-extern struct et_list * _et_list;
+extern struct et_list *_et_list;
 
 #define        ERRCODE_RANGE   8       /* # of bits to shift table number */
 #define        BITS_PER_CHAR   6       /* # bits to shift per character in name */
 
-extern const char *error_table_name();
-#define _ET_H
+extern const char *error_table_name(int num);
 #endif
index bfbb947ea04f8623d2619bb0fe05d53419a21703..c6b97f4bd33513de52513eeeda5b69dc2c70aaf6 100644 (file)
@@ -1,7 +1,20 @@
 %{
 #include <stdio.h>
-char *str_concat(), *ds(), *quote(), *malloc(), *realloc();
-char *current_token = (char *)NULL;
+
+char *gensym(const char *x);
+static char *ds(const char *string);
+static void add_ec(const char *name, const char *description);
+static void add_ec_val(const char *name, const char *val,
+                      const char *description);
+static void put_ecs(void);
+static int char_to_num(char c);
+static void set_table_num(char *string);
+
+static long gensym_n = 0;
+
+char *current_token = NULL;
+
+extern int yyerror(char *s);
 extern char *table_name;
 %}
 %union {
@@ -62,29 +75,25 @@ description :       QUOTED_STRING
  * For copyright info, see mit-sipb-copyright.h.
  */
 
+#include "mit-sipb-copyright.h"
+
 #include <string.h>
 #include <assert.h>
 #include <ctype.h>
 #include <sys/types.h>
 #include <sys/time.h>
-#include "internal.h"
 #include "error_table.h"
-#include "mit-sipb-copyright.h"
 
-#ifndef        lint
-static char const rcsid_error_table_y[] =
-    "$Header$";
-#endif
+static const char rcsid[] = "$Id$";
+
+#include "et_lex.lex.c"
 
-char *malloc(), *realloc();
 extern FILE *hfile, *cfile;
 
-static long gensym_n = 0;
-char *
-gensym(x)
-       char const *x;
+char *gensym(const char *x)
 {
        char *symbol;
+
        if (!gensym_n) {
                struct timeval tv;
                struct timezone tzp;
@@ -97,50 +106,36 @@ gensym(x)
        return(symbol);
 }
 
-char *
-ds(string)
-       char const *string;
+static char *ds(const char *string)
 {
        char *rv;
+
        rv = malloc(strlen(string)+1);
        strcpy(rv, string);
        return(rv);
 }
 
-char *
-quote(string)
-       char const *string;
-{
-       char *rv;
-       rv = malloc(strlen(string)+3);
-       strcpy(rv, "\"");
-       strcat(rv, string);
-       strcat(rv, "\"");
-       return(rv);
-}
-
 long table_number;
 int current = 0;
-char **error_codes = (char **)NULL;
+char **error_codes = NULL;
 
-add_ec(name, description)
-       char const *name, *description;
+static void add_ec(const char *name, const char *description)
 {
        fprintf(cfile, "\t\"%s\",\n", description);
-       if (error_codes == (char **)NULL) {
-               error_codes = (char **)malloc(sizeof(char *));
-               *error_codes = (char *)NULL;
+       if (error_codes == NULL) {
+               error_codes = malloc(sizeof(char *));
+               *error_codes = NULL;
        }
-       error_codes = (char **)realloc((char *)error_codes,
-                                      (current + 2)*sizeof(char *));
+       error_codes = realloc(error_codes, (current + 2) * sizeof(char *));
        error_codes[current++] = ds(name);
-       error_codes[current] = (char *)NULL;
+       error_codes[current] = NULL;
 }
 
-add_ec_val(name, val, description)
-       char const *name, *val, *description;
+static void add_ec_val(const char *name, const char *val,
+                      const char *description)
 {
        const int ncurrent = atoi(val);
+
        if (ncurrent < current) {
                printf("Error code %s (%d) out of order", name,
                       current);
@@ -148,24 +143,23 @@ add_ec_val(name, val, description)
        }
       
        while (ncurrent > current)
-            fputs("\t(char *)NULL,\n", cfile), current++;
+            fputs("\tNULL,\n", cfile), current++;
        
        fprintf(cfile, "\t\"%s\",\n", description);
-       if (error_codes == (char **)NULL) {
-               error_codes = (char **)malloc(sizeof(char *));
-               *error_codes = (char *)NULL;
+       if (error_codes == NULL) {
+               error_codes = malloc(sizeof(char *));
+               *error_codes = NULL;
        }
-       error_codes = (char **)realloc((char *)error_codes,
-                                      (current + 2)*sizeof(char *));
+       error_codes = realloc(error_codes, (current + 2) * sizeof(char *));
        error_codes[current++] = ds(name);
-       error_codes[current] = (char *)NULL;
+       error_codes[current] = NULL;
 } 
 
-put_ecs()
+static void put_ecs(void)
 {
        int i;
        for (i = 0; i < current; i++) {
-            if (error_codes[i] != (char *)NULL)
+            if (error_codes[i] != NULL)
                  fprintf(hfile, "#define %-40s (%ldL)\n",
                          error_codes[i], table_number + i);
        }
@@ -182,8 +176,7 @@ put_ecs()
 static const char char_set[] =
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
 
-int char_to_num(c)
-       char c;
+static int char_to_num(char c)
 {
        const char *where;
        int diff;
@@ -205,8 +198,7 @@ int char_to_num(c)
        exit (1);
 }
 
-set_table_num(string)
-       char *string;
+static void set_table_num(char *string)
 {
        if (char_to_num (string[0]) > char_to_num ('z')) {
                fprintf (stderr, "%s%s%s%s",
@@ -228,5 +220,3 @@ set_table_num(string)
        }
        table_number = table_number << ERRCODE_RANGE;
 }
-
-#include "et_lex.lex.c"
index 5d38000b3c12dd1c3c42604e1bdde9c76aa91f0f..ceef46a045dfe05fecc79cbe62baa441ff0d8def 100644 (file)
@@ -1,6 +1,12 @@
+%{
+#undef yywrap
+int num_lines = 0;
+%}
+
 PC     [^\"]
 AN     [A-Z_a-z0-9]
 %%
+\n             ++num_lines;
 
 error_table    return ERROR_TABLE;
 et             return ERROR_TABLE;
@@ -11,7 +17,8 @@ end           return END;
 [\t\n ]                ;
 
 \"{PC}*\"      { register char *p; yylval.dynstr = ds(yytext+1);
-                 if (p=rindex(yylval.dynstr, '"')) *p='\0';
+                 p=strrchr(yylval.dynstr, '"');
+                 if (p) *p='\0';
                  return QUOTED_STRING;
                }
 
@@ -21,6 +28,9 @@ end           return END;
 
 .              { return (*yytext); }
 %%
-#ifndef lint
-static char rcsid_et_lex_lex_l[] = "$Header$";
-#endif
+static const char l_rcsid[] = "$Id$";
+
+int yywrap()
+{
+       return 1;
+}
index 19da71d308ba81b9234daab6a1e3f7992ec33b0f..0ddb5517125fcf594eae45fcc42eade2d652246a 100644 (file)
@@ -6,22 +6,17 @@
 
 #include "error_table.h"
 #include "mit-sipb-copyright.h"
-#include "internal.h"
 
-#ifndef        lint
 static const char copyright[] =
     "Copyright 1987,1988 by Student Information Processing Board, Massachusetts Institute of Technology";
-static const char rcsid_et_name_c[] =
-    "$Header$";
-#endif
+static const char rcsid_et[] = "$Id$";
 
 static const char char_set[] =
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
 
 static char buf[6];
 
-const char * error_table_name(num)
-    int num;
+const char *error_table_name(int num)
 {
     int ch;
     int i;
index 856f0fdc24a3ad4bce2d41e11300bcaac1ab0e77..5c59ec2ef3bfba154aab9fc346cdaf17aadf4f24 100644 (file)
  */
 
 #include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
 #include "error_table.h"
 #include "mit-sipb-copyright.h"
 
-#ifndef __STDC__
-#define const
-#endif
-
-#ifndef        lint
-static const char rcsid_init_et_c[] =
-    "$Header$";
-#endif
-
-extern char *malloc(), *realloc();
+static const char rcsid[] = "$Id$";
 
 struct foobar {
     struct et_list etl;
     struct error_table et;
 };
 
-extern struct et_list * _et_list;
+extern struct et_list *_et_list;
 
-int init_error_table(msgs, base, count)
-    const char * const * msgs;
-    int base;
-    int count;
+int init_error_table(const char *const *msgs, int base, int count)
 {
     struct foobar * new_et;
 
     if (!base || !count || !msgs)
        return 0;
 
-    new_et = (struct foobar *) malloc(sizeof(struct foobar));
+    new_et = malloc(sizeof(struct foobar));
     if (!new_et)
        return errno;   /* oops */
     new_et->etl.table = &new_et->et;
diff --git a/util/et/internal.h b/util/et/internal.h
deleted file mode 100644 (file)
index 6208cff..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * internal include file for com_err package
- */
-#include "mit-sipb-copyright.h"
-#ifndef __STDC__
-#undef const
-#define const
-#endif
-
-extern int errno;
-extern char const * const sys_errlist[];
-extern const int sys_nerr;
-
-#ifdef __STDC__
-void perror (const char *);
-#else
-void perror ();
-#endif
index e0d15722485916b864488a8a489deef9d365cfe1..2f7eb295014d701350fe80fc445fa002ef2eb03f 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-Copyright 1987, 1989 by the Student Information Processing Board
+Copyright 1987, 1988 by the Student Information Processing Board
        of the Massachusetts Institute of Technology
 
 Permission to use, copy, modify, and distribute this software
diff --git a/util/et/test.c b/util/et/test.c
deleted file mode 100644 (file)
index 955cb96..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <stdio.h>
-#include <errno.h>
-#include "com_err.h"
-#include "test1.h"
-#include "test2.h"
-
-extern int sys_nerr, errno;
-
-main()
-{
-       printf("Before initiating error table:\n\n");
-       printf("Table name '%s'\n", error_table_name(KRB_MK_AP_TGTEXP));
-       printf("UNIX  name '%s'\n", error_table_name(EPERM));
-       printf("Msg TGT-expired is '%s'\n", error_message(KRB_MK_AP_TGTEXP));
-       printf("Msg EPERM is '%s'\n", error_message(EPERM));
-       printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
-       printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
-       printf("Msg {sys_nerr} is '%s'\n", error_message(sys_nerr));
-
-       printf("With 0: tgt-expired -> %s\n", error_message(KRB_MK_AP_TGTEXP));
-
-       initialize_krb_error_table();
-       printf("KRB error table initialized:  base %d (%s), name %s\n",
-              ERROR_TABLE_BASE_krb, error_message(ERROR_TABLE_BASE_krb),
-              error_table_name(ERROR_TABLE_BASE_krb));
-       initialize_krb_error_table();
-       printf("With krb: tgt-expired -> %s\n",
-              error_message(KRB_MK_AP_TGTEXP));
-
-       initialize_quux_error_table();
-       printf("QUUX error table initialized: base %d (%s), name %s\n",
-              ERROR_TABLE_BASE_quux, error_message(ERROR_TABLE_BASE_quux),
-              error_table_name(ERROR_TABLE_BASE_quux));
-
-       printf("Msg for TGT-expired is '%s'\n",
-              error_message(KRB_MK_AP_TGTEXP));
-       printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
-       printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
-       printf("Msg KRB_SKDC_CANT is '%s'\n",
-                   error_message(KRB_SKDC_CANT));
-       printf("Msg 1e6 (8B 64) is '%s'\n", error_message(1000000));
-       printf("\n\nCOM_ERR tests:\n");
-       com_err("whoami", FOO_ERR, (char *)NULL);
-       com_err("whoami", FOO_ERR, " -- message goes %s", "here");
-       com_err("whoami", 0, (char *)0);
-       com_err("whoami", 0, "error number %d\n", 0);
-}
diff --git a/util/et/test1.et b/util/et/test1.et
deleted file mode 100644 (file)
index 4c7b77f..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-       error_table     krb
-
-       error_code      KRB_MK_AP_TKFIL,
-                       "Can't read ticket file"
-
-       ec              KRB_MK_AP_NOTKT,
-                       "Can't find ticket or TGT"
-
-       ec              KRB_MK_AP_TGTEXP,
-                       "TGT expired"
-
-       ec              KRB_RD_AP_UNDEC,
-                       "Can't decode authenticator"
-
-       ec              KRB_RD_AP_EXP,
-                       "Ticket expired"
-
-       ec              KRB_RD_AP_REPEAT,
-                       "Repeated request"
-
-       ec              KRB_RD_AP_NOT_US,
-                       "The ticket isn't for us"
-
-       ec              KRB_RD_AP_INCON,
-                       "Request is inconsistent"
-
-       ec              KRB_RD_AP_TIME,
-                       "Delta-T too big"
-
-       ec              KRB_RD_AP_BADD,
-                       "Incorrect net address"
-
-       ec              KRB_RD_AP_VERSION,
-                       "Protocol version mismatch"
-
-       ec              KRB_RD_AP_MSG_TYPE,
-                       "Invalid message type"
-
-       ec              KRB_RD_AP_MODIFIED,
-                       "Message stream modified"
-
-       ec              KRB_RD_AP_ORDER,
-                       "Message out of order"
-
-       ec              KRB_RD_AP_UNAUTHOR,
-                       "Unauthorized request"
-
-       ec              KRB_GT_PW_NULL,
-                       "Current password is null"
-
-       ec              KRB_GT_PW_BADPW,
-                       "Incorrect current password"
-
-       ec              KRB_GT_PW_PROT,
-                       "Protocol error"
-
-       ec              KRB_GT_PW_KDCERR,
-                       "Error returned by KDC"
-
-       ec              KRB_GT_PW_NULLTKT,
-                       "Null ticket returned by KDC"
-
-       ec              KRB_SKDC_RETRY,
-                       "Retry count exceeded"
-
-       ec              KRB_SKDC_CANT,
-                       "Can't send request"
-
-       end
diff --git a/util/et/test2.et b/util/et/test2.et
deleted file mode 100644 (file)
index 55ad74e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-       error_table     quux
-
-       ec      FOO_ERR, "foo"
-
-       ec      BAR_ERR, "bar"
-
-       ec      BAZ_ERR, "meow"
-
-       end
This page took 1.800958 seconds and 5 git commands to generate.