summaryrefslogtreecommitdiff
path: root/array.h
diff options
context:
space:
mode:
Diffstat (limited to 'array.h')
-rw-r--r--array.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/array.h b/array.h
index fb4f789f..0c456507 100644
--- a/array.h
+++ b/array.h
@@ -33,6 +33,7 @@ typedef struct array {
enum atype type;
arrayind_t max_index;
int num_elements;
+ struct array_element *lastref;
struct array_element *head;
} ARRAY;
@@ -94,6 +95,7 @@ extern ARRAY *array_from_string __P((char *, char *));
#define array_num_elements(a) ((a)->num_elements)
#define array_max_index(a) ((a)->max_index)
+#define array_first_index(a) ((a)->head->next->ind)
#define array_head(a) ((a)->head)
#define array_empty(a) ((a)->num_elements == 0)
@@ -102,6 +104,8 @@ extern ARRAY *array_from_string __P((char *, char *));
#define element_forw(ae) ((ae)->next)
#define element_back(ae) ((ae)->prev)
+#define set_element_value(ae, val) ((ae)->value = (val))
+
/* Convenience */
#define array_push(a,v) \
do { array_rshift ((a), 1, (v)); } while (0)