summaryrefslogtreecommitdiffhomepage
path: root/mixlib/mix_parser.c
diff options
context:
space:
mode:
authorjaortega <jaortega>2000-11-13 23:29:21 +0000
committerjaortega <jaortega>2000-11-13 23:29:21 +0000
commit8114f67e2642494421f4de4e9deb226ac3c5a8ee (patch)
treec34369e55b1679da256b34af2d95a048be02c307 /mixlib/mix_parser.c
parent0816906a35f472c778ca2fd22dfed42391bdae74 (diff)
downloadmdk-8114f67e2642494421f4de4e9deb226ac3c5a8ee.tar.gz
mdk-8114f67e2642494421f4de4e9deb226ac3c5a8ee.tar.bz2
corrected bug in stress3.mixal (pking)
Diffstat (limited to 'mixlib/mix_parser.c')
-rw-r--r--mixlib/mix_parser.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/mixlib/mix_parser.c b/mixlib/mix_parser.c
index fc80a76..82dd692 100644
--- a/mixlib/mix_parser.c
+++ b/mixlib/mix_parser.c
@@ -209,7 +209,13 @@ update_future_refs_value_ (mix_parser_t *parser, const gchar *name,
node =
(ins_node_ *)g_tree_lookup (parser->ins_table,tmp->data);
g_assert (node);
- mix_word_set_address (node->ins, value);
+ if (mix_get_ins_address (node->ins) == 1) {
+ value = mix_short_negative (value);
+ node->ins = mix_word_set_field (node->ins,
+ MIX_WORD_ZERO,
+ mix_fspec_new (1,2));
+ }
+ mix_word_add_address (node->ins, value);
g_tree_insert (parser->ins_table, tmp->data, (gpointer)node);
tmp = g_slist_next (tmp);
}