bezeichner.c
#ifndef STDIO
#include
#define STDIO
#endif
#ifndef CONSTANTEN
#include "constanten.c"
#endif
static char *attr_bez[max_attr];
void init_bez()
{
int i;
extern char *attr_bez[max_attr];
char *n;
for(i=0;i < (max_attr);++i)
{
n= (char *) malloc(max_len+1);
if(n != NULL)
strcpy(n,leer);
attr_bez[i]=n;
}
strcpy( attr_bez[0], ID);
}
void del_bez()
{
int i;
extern char *attr_bez[max_attr];
for(i=0;i < (max_attr);++i)
free(attr_bez[i]);
}
int suche_bez( char *b)
{
int i,f;
extern char *attr_bez[max_attr];
for(i=0;((f=strcmp(attr_bez[i],b)) != 0) && (i < (max_attr));++i);
return( !f ? i : -1 );
}
int last_bez()
{
int i, f;
extern char *attr_bez[max_attr];
for( i=0; ((f=strcmp(attr_bez[i],leer)) != 0) && (i < (max_attr)); ++i);
return( !f ? i : -1 );
}
int incert_bez( char *b)
{
int i;
extern char *attr_bez[max_attr];
if((i=suche_bez(b)) == -1)
{
if((i=last_bez()) > -1)
{
strcpy(attr_bez[i],b);
}
else
{
fprintf( stdout, "Keine Platz mehr fuer den Bezeichner > %s <\n",b);
}
}
return(i);
}
void output_bez(FILE *ofp)
{
int i;
extern char *attr_bez[max_attr];
for( i=0;((i < (max_attr)) && (attr_bez[i][0] != '\0')); ++i)
{
fprintf( ofp, "%s\n",attr_bez[i]);
}
}
#define BEZEICHNER
CSLIB 2000
Zurück: Persönliche Hypertexte