54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
| /*
 | |
|  * $Header$
 | |
|  * $Source$
 | |
|  * $Locker$
 | |
|  *
 | |
|  * Copyright 1986, 1987, 1988 by MIT Information Systems and
 | |
|  *	the MIT Student Information Processing Board.
 | |
|  *
 | |
|  * Permission to use, copy, modify, and distribute this software and
 | |
|  * its documentation for any purpose is hereby granted, provided that
 | |
|  * the names of M.I.T. and the M.I.T. S.I.P.B. not be used in
 | |
|  * advertising or publicity pertaining to distribution of the software
 | |
|  * without specific, written prior permission.  M.I.T. and the
 | |
|  * M.I.T. S.I.P.B. make no representations about the suitability of
 | |
|  * this software for any purpose.  It is provided "as is" without
 | |
|  * express or implied warranty.
 | |
|  */
 | |
| 
 | |
| #include "config.h"
 | |
| #include <stdio.h>
 | |
| #include <errno.h>
 | |
| #ifdef HAVE_STDLIB_H
 | |
| #include <stdlib.h>
 | |
| #endif
 | |
| #include "com_err.h"
 | |
| #include "error_table.h"
 | |
| 
 | |
| struct foobar {
 | |
|     struct et_list etl;
 | |
|     struct error_table et;
 | |
| };
 | |
| 
 | |
| extern struct et_list * _et_dynamic_list;
 | |
| 
 | |
| int init_error_table(const char * const *msgs, long base, int count)
 | |
| {
 | |
|     struct foobar * new_et;
 | |
| 
 | |
|     if (!base || !count || !msgs)
 | |
| 	return 0;
 | |
| 
 | |
|     new_et = (struct foobar *) malloc(sizeof(struct foobar));
 | |
|     if (!new_et)
 | |
| 	return ENOMEM;	/* oops */
 | |
|     new_et->etl.table = &new_et->et;
 | |
|     new_et->et.msgs = msgs;
 | |
|     new_et->et.base = base;
 | |
|     new_et->et.n_msgs= count;
 | |
| 
 | |
|     new_et->etl.next = _et_dynamic_list;
 | |
|     _et_dynamic_list = &new_et->etl;
 | |
|     return 0;
 | |
| }
 |