+2005-08-12 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * wget.h: Renamed strtoll_return to strtoll_type.
+
2005-08-11 Hrvoje Niksic <hniksic@xemacs.org>
* progress.c (eta_to_human_short): Switch to days when printing
return value;
}
-#define LL strtoll_return /* long long or __int64 */
+#define LL strtoll_type /* long long or __int64 */
-/* These constants assume 64-bit strtoll_return. */
+/* These constants assume 64-bit strtoll_type. */
/* A roundabout way of writing 2**63-1 = 9223372036854775807 */
#define STRTOLL_OVERFLOW (((LL) 1 << 62) - 1 + ((LL) 1 << 62))
#define STRTOLL_UNDERFLOW (-STRTOLL_OVERFLOW - 1)
/* A strtoll replacement for systems that have LFS but don't supply
- strtoll. The headers typedef strtoll_return to long long or to
+ strtoll. The headers typedef strtoll_type to long long or to
__int64. */
-strtoll_return
+strtoll_type
strtoll (const char *nptr, char **endptr, int base)
{
- strtoll_return result = 0;
+ strtoll_type result = 0;
bool negative;
if (base != 0 && (base < 2 || base > 36))
int val;
for (; (val = char_value (*nptr, base)) != -1; ++nptr)
{
- strtoll_return newresult = base * result + val;
+ strtoll_type newresult = base * result + val;
if (newresult < result)
{
result = STRTOLL_OVERFLOW;
int val;
for (; (val = char_value (*nptr, base)) != -1; ++nptr)
{
- strtoll_return newresult = base * result - val;
+ strtoll_type newresult = base * result - val;
if (newresult > result)
{
result = STRTOLL_UNDERFLOW;
#else
# define str_to_wgint strtoll
# define NEED_STRTOLL
-# define strtoll_return __int64
+# define strtoll_type __int64
#endif
/* Windows has no symlink, therefore no lstat. Without symlinks lstat
#ifndef WINDOWS
typedef off_t wgint;
# define SIZEOF_WGINT SIZEOF_OFF_T
-#endif
-/* Define a strtol/strtoll clone that works with wgint. */
-#ifndef str_to_wgint /* mswindows.h defines its own alias */
+/* Pick the strtol-like function that will work with wgint. */
# if SIZEOF_WGINT == SIZEOF_LONG
# define str_to_wgint strtol
# define WGINT_MAX LONG_MAX
# define WGINT_MAX LLONG_MAX
# ifdef HAVE_STRTOLL
# define str_to_wgint strtoll
-# elif HAVE_STRTOIMAX
+# elif HAVE_STRTOIMAX /* HPUX 11.0 has strtoimax, but no strtoll */
# define str_to_wgint strtoimax
# else
# define str_to_wgint strtoll
# define NEED_STRTOLL
-# define strtoll_return long long
+# define strtoll_type long long
# endif
# endif
-#endif
+#endif /* not WINDOWS */
/* Declare our strtoll replacement. */
#ifdef NEED_STRTOLL
-strtoll_return strtoll (const char *, char **, int);
+strtoll_type strtoll (const char *, char **, int);
#endif
-/* Now define a large integral type useful for storing sizes of *sums*
+/* Now define a large numeric type useful for storing sizes of *sums*
of downloads, such as the value of the --quota option. This should
be a type able to hold 2G+ values even on systems without large
file support. (It is useful to limit Wget's download quota to say