diff options
author | Haru <haru@dotalux.com> | 2013-11-30 21:16:19 +0100 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2013-11-30 21:22:13 +0100 |
commit | afb2ed27fcc12f86f2418425dd1e7c9b8234a1f2 (patch) | |
tree | 7c04c5a43f74f9620e6bbcda85d949e48c40f86c /src | |
parent | b1f4be7a4ce488e688fb08180ed5147120db0fdd (diff) | |
download | hercules-afb2ed27fcc12f86f2418425dd1e7c9b8234a1f2.tar.gz hercules-afb2ed27fcc12f86f2418425dd1e7c9b8234a1f2.tar.bz2 hercules-afb2ed27fcc12f86f2418425dd1e7c9b8234a1f2.tar.xz hercules-afb2ed27fcc12f86f2418425dd1e7c9b8234a1f2.zip |
Fixed an issue with assignment operators and expressions
- Assignment operators would not work correctly, or at all, when
followed by an expression (as opposed as a value).
- Fixes bugreport:7864, thanks to Lelouch, Ind.
- Added associativity tests for those operators to the self-test script.
- Added total error count to the self-test script (thanks to Lighta.)
Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/map/script.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/map/script.c b/src/map/script.c index 107a921f0..d0b69d594 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -960,8 +960,9 @@ const char* parse_variable(const char* p) { parse_variable_sub_push(word, p2); // Push variable onto the stack - if( type != C_EQ ) - script->addc(C_REF); + if( type != C_EQ ) { + parse_variable_sub_push(word, p2); // Push variable onto the stack once again (first argument of setr) + } if( type == C_ADD_POST || type == C_SUB_POST ) { // post ++ / -- script->addi(1); |