commit | 16375ab5fb4fb0eae8e71dd14207080235e4c892 | [log] [tgz] |
---|---|---|
author | Kevin O'Connor <kevin@koconnor.net> | Sun Mar 09 11:53:22 2008 -0400 |
committer | Kevin O'Connor <kevin@koconnor.net> | Sun Mar 09 11:53:22 2008 -0400 |
tree | e859ef0af10fb6673976abc46febc7f56139b7b0 | |
parent | 843a62c3e54154077f0197f009491e2a712c3175 [diff] |
Fix bug in SET_FARVAR. The (val) parameter needs to be evaluated before setting the segment.
diff --git a/src/farptr.h b/src/farptr.h index e142843..4759a08 100644 --- a/src/farptr.h +++ b/src/farptr.h
@@ -69,8 +69,9 @@ SET_SEG(ES, (seg)); \ GET_VAR(ES, (var)); }) #define SET_FARVAR(seg, var, val) do { \ + typeof(var) __sfv_val = (val); \ SET_SEG(ES, (seg)); \ - SET_VAR(ES, (var), val); \ + SET_VAR(ES, (var), __sfv_val); \ } while (0) #define PTR_TO_SEG(p) ((((u32)(p)) >> 4) & 0xf000)