summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2010-11-08 02:10:35 -0500
committerTavian Barnes <tavianator@gmail.com>2010-11-08 02:10:35 -0500
commit835a9bdcbd7365187954ab8a6453a2ab67008c2a (patch)
tree3aea732b197644e7d9a9e6855d0a133ff4241c22
parent60190f7766be07d4fdee26eff6e2edc3d1842d99 (diff)
downloaddimension-835a9bdcbd7365187954ab8a6453a2ab67008c2a.tar.xz
Remove useless array node from color-lists.
-rw-r--r--dimension/common.rules10
-rw-r--r--dimension/realize.c7
-rwxr-xr-xtests/dimension/demo.sh9
3 files changed, 9 insertions, 17 deletions
diff --git a/dimension/common.rules b/dimension/common.rules
index 754e063..600ef80 100644
--- a/dimension/common.rules
+++ b/dimension/common.rules
@@ -575,17 +575,13 @@ PIGMENT_MODIFIERS: /* empty */ {
;
COLOR_LIST2: /* empty */ {
- dmnsn_astnode list = dmnsn_new_astnode(DMNSN_AST_ARRAY, @$);
- $$ = dmnsn_new_astnode1(DMNSN_AST_COLOR_LIST, @$, list);
+ $$ = dmnsn_new_astnode(DMNSN_AST_COLOR_LIST, @$);
}
| COLOR {
- dmnsn_astnode list = dmnsn_new_astnode1(DMNSN_AST_ARRAY, @$, $1);
- $$ = dmnsn_new_astnode1(DMNSN_AST_COLOR_LIST, @$, list);
+ $$ = dmnsn_new_astnode1(DMNSN_AST_COLOR_LIST, @$, $1);
}
| COLOR "," COLOR {
- dmnsn_astnode list = dmnsn_new_astnode2(DMNSN_AST_ARRAY, @$,
- $1, $3);
- $$ = dmnsn_new_astnode1(DMNSN_AST_COLOR_LIST, @$, list);
+ $$ = dmnsn_new_astnode2(DMNSN_AST_COLOR_LIST, @$, $1, $3);
}
;
diff --git a/dimension/realize.c b/dimension/realize.c
index 859919f..c879a23 100644
--- a/dimension/realize.c
+++ b/dimension/realize.c
@@ -481,13 +481,10 @@ dmnsn_realize_color_list(dmnsn_astnode astnode)
{
dmnsn_assert(astnode.type == DMNSN_AST_COLOR_LIST, "Expected a color list.");
- dmnsn_astnode array;
- dmnsn_array_get(astnode.children, 0, &array);
-
dmnsn_color_map *color_map = dmnsn_new_color_map();
- double n = 0.0, i = 1.0/(dmnsn_array_size(array.children) - 1);
- DMNSN_ARRAY_FOREACH (dmnsn_astnode *, entry, array.children) {
+ double n = 0.0, i = 1.0/(dmnsn_array_size(astnode.children) - 1);
+ DMNSN_ARRAY_FOREACH (dmnsn_astnode *, entry, astnode.children) {
dmnsn_color color = dmnsn_realize_color(*entry);
dmnsn_add_color_map_entry(color_map, n, color);
n += i;
diff --git a/tests/dimension/demo.sh b/tests/dimension/demo.sh
index c3d9750..4e0c206 100755
--- a/tests/dimension/demo.sh
+++ b/tests/dimension/demo.sh
@@ -172,11 +172,10 @@ demo_exp=$(echo -n \
(pattern checker)
(pigment-modifiers
(color-list
- (array
- (vector (integer 0) (integer 0) (integer 0)
- (integer 0) (integer 0))
- (vector (integer 1) (integer 1) (integer 1)
- (integer 0) (integer 0)))))))))' \
+ (vector (integer 0) (integer 0) (integer 0)
+ (integer 0) (integer 0))
+ (vector (integer 1) (integer 1) (integer 1)
+ (integer 0) (integer 0))))))))' \
| tr '\n' ' ' | sed -r 's/[[:space:]]+/ /g')
if [ "$demo" != "$demo_exp" ]; then