notaz.gp2x.de
/
ia32rtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
32bit fixes
[ia32rtools.git]
/
tools
/
masm_tools.h
diff --git
a/tools/masm_tools.h
b/tools/masm_tools.h
index
717001f
..
cee4d62
100644
(file)
--- a/
tools/masm_tools.h
+++ b/
tools/masm_tools.h
@@
-1,7
+1,3
@@
-#if __SIZEOF_LONG__ != 8
-#error fix ret/strtoul to do 64bit
-#endif
-
static unsigned long parse_number(const char *number)
{
int len = strlen(number);
static unsigned long parse_number(const char *number)
{
int len = strlen(number);
@@
-27,9
+23,16
@@
static unsigned long parse_number(const char *number)
}
if (bad)
aerr("number parsing failed (%s)\n", number);
}
if (bad)
aerr("number parsing failed (%s)\n", number);
- if (neg)
+#if __SIZEOF_LONG__ > 4
+ // if this happens, callers must be fixed too
+ if (ret > 0xfffffffful)
+ aerr("number too large? (%s)\n", number);
+#endif
+ if (neg) {
+ if (ret > 0x7fffffff)
+ aerr("too large negative? (%s)\n", number);
ret = -ret;
ret = -ret;
+ }
return ret;
}
return ret;
}
-