Ethereal-dev: Re: [Ethereal-dev] undefined strtoull on Win32 with latest SVN

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxx>
Date: Fri, 03 Sep 2004 11:22:28 -0700
Greg Morris wrote:

I just updated to latest SVN and get the following extern error when
compiling ftype-integer.c

ftype-integer.c(223) : warning C4013: 'strtoull' undefined; assuming
extern returning int

Of course libethereal won't finish the link due to an unresolved
external. Is strtoull ANSI?

No.

A change was made to "config.h.win32" to #define strtoull as g_ascii_strtoull, so that when building on Windows it'd use GLib 2.x's g_ascii_strtoull; "config.h" probably hadn't been rebuilt from "config.h.win32".

Unfortunately, there are some UN*Xes that appear to lack any routine to convert a string to a 64-bit integer (some HP-UXes don't have "strtoull()" or any other such routine), and some Digital UNIX versions have only "strtoul()" for that purpose, which would require more configure-script work, so I've just checked in a change to use "g_ascii_strtoull()" and to check, in the configure script, whether GLib has it and, if not, supply the GLib 2.4.5 version (which I extracted from the library and checked in).

Get the latest SVN version (it'll have "g_ascii_strtoull.c" in the "epan" directory) and try the build again (remove the top-level "config.h", to make sure it's rebuilt - that shouldn't be necessary for the build, but it should make sure you have an up-to-date "config.h" for Windows - and do a "make clean" before you do the build, to make sure everything gets rebuilt with the current header files).