4 #include "shotgun/lib/shotgun.h"
5 #include "shotgun/lib/var_table.h"
7 /* max number of vars, made up. */
11 struct var_table_t
*next
;
16 var_table
var_table_create() {
17 var_table vt
= ALLOC(struct var_table_t
);
23 void var_table_destroy(var_table vt
) {
32 var_table
var_table_push(var_table cur
) {
33 var_table vt
= var_table_create();
38 var_table
var_table_pop(var_table cur
) {
46 int var_table_find(const var_table tbl
, const quark needle
) {
48 for(i
= 0; i
< tbl
->size
; i
++) {
49 if(tbl
->data
[i
] == needle
) return i
;
54 int var_table_add(var_table tbl
, const quark item
) {
57 assert(idx
< DATA_MAX
);
58 tbl
->data
[idx
] = item
;
63 int var_table_size(const var_table tbl
)
68 quark
var_table_get(const var_table tbl
, const int index
)
70 assert(index
< tbl
->size
);
71 return tbl
->data
[index
];