diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/wee-eval.c | 7 | ||||
-rw-r--r-- | src/core/wee-hdata.h | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/core/wee-eval.c b/src/core/wee-eval.c index 6864a94d6..7180c77a5 100644 --- a/src/core/wee-eval.c +++ b/src/core/wee-eval.c @@ -147,8 +147,8 @@ char * eval_hdata_get_value (struct t_hdata *hdata, void *pointer, const char *path) { char *value, *old_value, *var_name, str_value[128], *pos; - const char *ptr_value, *hdata_name; - int type; + const char *ptr_value, *hdata_name, *ptr_var_name; + int type, index; struct t_hashtable *hashtable; value = NULL; @@ -180,7 +180,8 @@ eval_hdata_get_value (struct t_hdata *hdata, void *pointer, const char *path) goto end; /* search type of variable in hdata */ - type = hdata_get_var_type (hdata, var_name); + hdata_get_index_and_name (var_name, &index, &ptr_var_name); + type = hdata_get_var_type (hdata, ptr_var_name); if (type < 0) goto end; diff --git a/src/core/wee-hdata.h b/src/core/wee-hdata.h index c7c615d3e..c6cde0503 100644 --- a/src/core/wee-hdata.h +++ b/src/core/wee-hdata.h @@ -110,6 +110,8 @@ extern int hdata_check_pointer (struct t_hdata *hdata, void *list, extern void *hdata_move (struct t_hdata *hdata, void *pointer, int count); extern void *hdata_search (struct t_hdata *hdata, void *pointer, const char *search, int move); +extern void hdata_get_index_and_name (const char *name, int *index, + const char **ptr_name); extern char hdata_char (struct t_hdata *hdata, void *pointer, const char *name); extern int hdata_integer (struct t_hdata *hdata, void *pointer, |