[CF-Devel] bug in some libc 64 bit parsing
crossfire-devel-admin at archives.real-time.com
crossfire-devel-admin at archives.real-time.com
Tue Mar 18 00:48:51 CST 2003
huet.o at free.fr
wrote:
>
Hello,
>
>
I took the last cvs snapshot of Crossfire Server, and I had a problem when I
>
launch the compiled server : the "experience" table don't load at the first
>
"big" (real 64 bit) level value (12 I think).
>
>
After some tracing, I noticed it's because my "atoll" libc function is broken
>
(the one with GLIBC_2.1.1 of a Mandrake/Redhat 6.0 Linux Distribution on x86).
>
>
atoll in this version of the libc+distribution act on 32 bit values only : see
>
example of this program :
>
I'd note that redhat 6.0 is pretty darn old.
I'm a bit mixed on this. On the one hand, I'd like for crossfire to work on
as many systems as reasonably possible (however if that was really the case,
then I shouldn't use long long). OTOH, I really don't want to include functions
for every call that may not work quite right on every system.
This is more of a problem - this isn't an issue of missing a function (in
which case something like a #ifndef HAVE_ATOLL myatoll() ... #endif) - something
like a myatoll would be needed.
this poses problems in that a developer could use the wrong call someplace,
getting the wrong behaviour. It also means that if the OS in question has a
more optimized version, that won't get used.
_______________________________________________
crossfire-devel mailing list
crossfire-devel at lists.real-time.com
https://mailman.real-time.com/mailman/listinfo/crossfire-devel
More information about the crossfire
mailing list