Go to the documentation of this file.00001 #include <grass/dbmi.h>
00002
00003
00004 #define NONE ( (dbAddress) NULL )
00005
00006 static dbAddress *list = NONE;
00007 static dbToken count = 0;
00008
00015 dbAddress db_find_token(dbToken token)
00016 {
00017 if (token >= 0 && token < count)
00018 return list[token];
00019 return (NONE);
00020 }
00021
00028 void db_drop_token(dbToken token)
00029 {
00030 if (token >= 0 && token < count)
00031 list[token] = NONE;
00032 }
00033
00040 dbToken db_new_token(dbAddress address)
00041 {
00042 dbToken token;
00043 dbAddress *p;
00044
00045 for (token = 0; token < count; token++)
00046 if (list[token] == NONE) {
00047 list[token] = address;
00048 return token;
00049 }
00050
00051 p = (dbAddress *) db_realloc((void *)list, sizeof(*list) * (count + 1));
00052 if (p == NULL)
00053 return -1;
00054
00055 list = p;
00056 token = count++;
00057 list[token] = address;
00058 return (token);
00059 }