summaryrefslogtreecommitdiff
path: root/src/base/idManager.c~
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/idManager.c~')
-rw-r--r--src/base/idManager.c~209
1 files changed, 0 insertions, 209 deletions
diff --git a/src/base/idManager.c~ b/src/base/idManager.c~
deleted file mode 100644
index fd4cac9..0000000
--- a/src/base/idManager.c~
+++ /dev/null
@@ -1,209 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-
-#include "main.h"
-#include "list.h"
-#include "idManager.h"
-
-static list_t *listID;
-static int lastID;
-
-typedef struct id_item_struct
-{
- int id;
- int count;
-} id_item_t;
-
-static id_item_t* newIdItem(int id, int count)
-{
- id_item_t *new;
-
- new = malloc( sizeof(id_item_t) );
- new->id = id;
- new->count = count;
-
- return new;
-}
-
-static void destroyIdItem(id_item_t *p)
-{
- assert( p != NULL );
-
- free(p);
-}
-
-void initListID()
-{
- listID = newList();
- lastID = 0;
-#ifdef DEBUG
- printf(_("Starting ID manger\n"));
-#endif
-}
-
-int isRegisterID(int id)
-{
- int i;
-
- assert( listID != NULL );
-
- for( i = 0 ; i < listID->count ; i++ )
- {
- id_item_t *this;
-
- this = listID->list[i];
-
- if( this->id == id )
- {
- return i;
- }
- }
-
- return -1;
-}
-
-static int findNewID()
-{
- int ret;
-
- assert( listID != NULL );
-
- if( listID->count >= MAX_ID-1 )
- {
- assert( ! _("No free ID left!") );
- }
-
- do{
- //ret = ( random() % (listID->count + 8 ) ) + 1;
- ret = random() % MAX_ID + 1;
- }while( isRegisterID(ret) != -1 );
-
- //printf("new ID %d\n", ret);
-
- return ret;
-}
-
-int getNewIDcount(int count)
-{
- int id;
-
- id = findNewID();
-
- addList(listID, newIdItem(id, count) );
-
- return id;
-}
-
-int getNewID()
-{
- return getNewIDcount(1);
-}
-
-void incID(int id)
-{
- id_item_t *this;
- int index;
-
- assert( listID != NULL );
-
- index = isRegisterID(id);
-
- if( index == -1 )
- {
- assert( ! _("This kind of ID was never registered!") );
- return; // ha ha ha
- }
-
- this = listID->list[index];
-
- this->count++;
-
- //printf("inc ID %d %d\n", this->id, this->count);
- return;
-}
-
-void delID(int id)
-{
- id_item_t *this;
- int index;
-
- assert( listID != NULL );
-
- index = isRegisterID(id);
-
- if( index == -1 )
- {
- assert( ! _("This kind of ID was never registered!") );
- return; // ha ha ha
- }
-
- this = listID->list[index];
-
- this->count--;
- //printf("dec ID %d %d\n", this->id, this->count);
-
- if( this->count <= 0 )
- {
- delListItem(listID, index, free);
- //printf("listID->count = %d\n", listID->count);
- }
-
- return;
-}
-
-void replaceID(int old_id, int new_id)
-{
- int index_old_id;
- int index_new_id;
- id_item_t *this;
-
- if( old_id == new_id )
- {
- return;
- }
-
- index_old_id = isRegisterID(old_id);
- assert( index_old_id != -1 );
-
- index_new_id = isRegisterID(new_id);
- assert( index_new_id == -1 );
-
- this = listID->list[index_old_id];
- this->id = new_id;
-}
-
-void infoID(int id)
-{
- id_item_t *this;
- int index;
-
- assert( listID != NULL );
-
- index = isRegisterID(id);
-
- if( index == -1 )
- {
-#ifdef DEBUG
- printf(_("ID %d does not exist\n"), id);
-#endif
- return;
- }
-
- this = listID->list[index];
-#ifdef DEBUG
- printf(_("ID %d (count %d)\n"), this->id, this->count);
-#endif
- return;
-}
-
-void quitListID()
-{
-#ifdef DEBUG
- printf(_("Quitting ID manger\n"));
-#endif
- assert( listID != NULL );
- destroyListItem(listID, destroyIdItem);
-}
-