int line = 0;
Eina_List *stack = NULL;
-Eina_List *params = NULL;
+Eina_Array params;
static char file_buf[4096];
static int verbatim = 0;
static void
err_show_params(void)
{
- Eina_List *l;
+ Eina_Array_Iterator iterator;
+ unsigned int i;
char *p;
ERR("PARAMS:");
- EINA_LIST_FOREACH(params, l, p)
+ EINA_ARRAY_ITER_NEXT(¶ms, i, p, iterator)
{
ERR(" %s", p);
}
err_show_params();
}
+static char *
+_parse_param_get(int n)
+{
+ if (n < (int) eina_array_count(¶ms))
+ return eina_array_data_get(¶ms, n);
+ return NULL;
+}
+
static Eina_Hash *_new_object_hash = NULL;
static Eina_Hash *_new_statement_hash = NULL;
static Eina_Hash *_new_nested_hash = NULL;
{
if (do_params)
{
+ void *param;
+
do_params = 0;
new_statement();
/* clear out params */
- while (params)
- {
- free(eina_list_data_get(params));
- params = eina_list_remove(params, eina_list_data_get(params));
- }
+ while ((param = eina_array_pop(¶ms)))
+ free(param);
/* remove top from stack */
stack_pop();
}
else
{
if (do_params)
- params = eina_list_append(params, token);
+ {
+ eina_array_push(¶ms, token);
+ }
else
{
stack_push(token);
if (data && (read(fd, data, size) == size))
{
stack_buf = eina_strbuf_new();
+ eina_array_step_set(¶ms, sizeof (Eina_Array), 8);
parse(data, size);
+ eina_array_flush(¶ms);
eina_strbuf_free(stack_buf);
stack_buf = NULL;
}
{
char *str;
- str = eina_list_nth(params, n);
+ str = _parse_param_get(n);
if (str) return 1;
return 0;
}
char *end;
long int ret;
- str = eina_list_nth(params, n);
+ str = _parse_param_get(n);
if (!str)
{
ERR("%s:%i no parameter supplied as argument %i",
char *str;
char *s;
- str = eina_list_nth(params, n);
+ str = _parse_param_get(n);
if (!str)
{
ERR("%s:%i no parameter supplied as argument %i",
int result;
va_list va;
- str = eina_list_nth(params, n);
+ str = _parse_param_get(n);
if (!str)
{
ERR("%s:%i no parameter supplied as argument %i",
int
parse_flags(int n, ...)
{
- Eina_List *lst;
int result = 0;
va_list va;
- char *data;
va_start(va, n);
- EINA_LIST_FOREACH(eina_list_nth_list(params, n), lst, data)
- result |= _parse_enum(data, va);
+ while (n < (int) eina_array_count(¶ms))
+ {
+ result |= _parse_enum(eina_array_data_get(¶ms, n), va);
+ n++;
+ }
va_end(va);
return result;
char *str;
int i;
- str = eina_list_nth(params, n);
+ str = _parse_param_get(n);
if (!str)
{
ERR("%s:%i no parameter supplied as argument %i",
char *str;
int i;
- str = eina_list_nth(params, n);
+ str = _parse_param_get(n);
if (!str)
{
ERR("%s:%i no parameter supplied as argument %i",
char *str, buf[4096];
int i;
- str = eina_list_nth(params, n);
+ str = _parse_param_get(n);
if (!str)
{
ERR("%s:%i no parameter supplied as argument %i",
char *str;
double i;
- str = eina_list_nth(params, n);
+ str = _parse_param_get(n);
if (!str)
{
ERR("%s:%i no parameter supplied as argument %i",
char *str;
double i;
- str = eina_list_nth(params, n);
+ str = _parse_param_get(n);
if (!str)
{
ERR("%s:%i no parameter supplied as argument %i",
int
get_arg_count(void)
{
- return eina_list_count (params);
+ return eina_array_count(¶ms);
}
void
check_arg_count(int required_args)
{
- int num_args = eina_list_count (params);
+ int num_args = eina_array_count(¶ms);
if (num_args != required_args)
{
void
check_min_arg_count(int min_required_args)
{
- int num_args = eina_list_count (params);
+ int num_args = eina_array_count(¶ms);
if (num_args < min_required_args)
{