|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 1455 (0x5af)
Types: TextFile
Names: »tabdeclr.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦this⟧ »EUUGD11/euug-87hel/sec1/graph/tabdeclr.c«
/*
* Copyright (C) 1986 Alan Kent
*
* Permission is granted to freely distribute part or
* all of this code as long as it is not for profit
* and this message is retained in the code.
*
* No resposibility is taken for any damage or incorect
* results this program generates.
*
*/
#include <stdio.h>
#include "graph.h"
#define MAX_DEC 50
extern table_st *copy_of_table ();
static struct declare_st {
char *name;
table_st *table;
} dec [ MAX_DEC ];
static int num_dec;
pdef_tab ()
{
return;
}
tab_declare ( name , table )
char *name;
table_st *table;
{
int i;
for ( i = 0; i < num_dec; i++ ) {
if ( strcmp ( name , dec[i].name ) == 0 ) {
free_table ( dec[i].table );
dec[i].table = table;
return;
}
}
if ( num_dec >= MAX_DEC )
abort ( "Internal array overflow - too many tables declared" );
dec[num_dec].name = name;
dec[num_dec].table = table;
num_dec++;
}
table_st *
tab_lookup ( name )
char *name;
{
int i , cols;
table_st *table , *ftp , *ttp , *p;
for ( i = 0; i < num_dec; i++ ) {
if ( strcmp ( dec[i].name , name ) == 0 ) {
return ( copy_of_table ( dec[i].table ) );
}
}
abort ( "Undefined table '%s' referenced" , name );
return ( NULL );
}
is_tab_ident ( name )
char *name;
{
int i;
for ( i = 0; i < num_dec; i++ ) {
if ( strcmp ( dec[i].name , name ) == 0 ) {
return ( 1 );
}
}
return ( 0 );
}