- Added missing breaklist source.

This commit is contained in:
Michael 'Ghandi' Herold 1998-08-31 15:33:36 +00:00
parent f9c4c7eaa7
commit 664042d433
2 changed files with 157 additions and 0 deletions

136
vbox3/vboxgetty/breaklist.c Normal file
View File

@ -0,0 +1,136 @@
/*
** $Id$
**
** Copyright 1996-1998 Michael 'Ghandi' Herold <michael@abadonna.mayn.de>
**
** $Log$
*/
#ifdef HAVE_CONFIG_H
# include "../config.h"
#endif
#include <stdlib.h>
#include <string.h>
#include "breaklist.h"
#include "log.h"
/** Variables ************************************************************/
unsigned char *breaklist[VBOXBREAK_MAX_ENTRIES];
/*************************************************************************
**
*************************************************************************/
void breaklist_init(void)
{
int i;
log(LOG_D, "Initializing breaklist...\n");
for (i = 0; i < VBOXBREAK_MAX_ENTRIES; i++) breaklist[i] = NULL;
}
/*************************************************************************
**
*************************************************************************/
void breaklist_clear(void)
{
int i;
log(LOG_D, "Clearing breaklist...\n");
for (i = 0; i < VBOXBREAK_MAX_ENTRIES; i++)
{
if (breaklist[i]) free(breaklist[i]);
}
breaklist_init();
}
/*************************************************************************
**
*************************************************************************/
unsigned char *breaklist_add(unsigned char *seq)
{
int i;
log(LOG_D, "Adding \"%s\" to breaklist...\n", seq);
for (i = 0; i < VBOXBREAK_MAX_ENTRIES; i++)
{
if (!breaklist[i])
{
if (!(breaklist[i] = strdup(seq)))
{
log(LOG_E, "Can't add \"%s\" to breaklist.\n", seq);
}
return(breaklist[i]);
}
}
log(LOG_E, "Can't add \"%s\" - breaklist full.\n", seq);
return(NULL);
}
/*************************************************************************
**
*************************************************************************/
int breaklist_del(unsigned char *seq)
{
int i;
log(LOG_D, "Removing \"%s\" from breaklist...\n", seq);
for (i = 0; i < VBOXBREAK_MAX_ENTRIES; i++)
{
if (breaklist[i])
{
if (strcmp(seq, breaklist[i]) == 0)
{
free(breaklist[i]);
breaklist[i] = NULL;
return(0);
}
}
}
log(LOG_E, "Can't find \"%s\" in breaklist.\n", seq);
return(-1);
}
/*************************************************************************
**
*************************************************************************/
void breaklist_dump(void)
{
int i;
int b;
int u;
log(LOG_D, "Dumping breaklist...\n");
for (i = 0, b = 0, u = 0; i < VBOXBREAK_MAX_ENTRIES; i++)
{
if (breaklist[i])
{
b++;
log(LOG_D, "Breaklist: \"%s\"\n", breaklist[i]);
}
else u++;
}
log(LOG_D, "Breaklist: %d used and %d unused entries.\n", b, u);
}

View File

@ -0,0 +1,21 @@
#ifndef _VBOX_BREAKLIST_H
#define _VBOX_BREAKLIST_H 1
/** Defines **************************************************************/
#define VBOXBREAK_MAX_ENTRIES 64
/** Variables ************************************************************/
extern unsigned char *breaklist[VBOXBREAK_MAX_ENTRIES];
/** Prototypes ***********************************************************/
extern void breaklist_init(void);
extern void breaklist_clear(void);
extern unsigned char *breaklist_add(unsigned char *);
extern int breaklist_del(unsigned char *);
extern void breaklist_dump(void);
#endif /* _VBOX_BREAKLIST_H */