mirror of https://github.com/aria2/aria2
				
				
				
			2007-08-10 Ross Smith II <aria2spam at smithii dot com>
Move sleep functions to Util class:
	* src/Util.cc
	(sleep): New function.
	(usleep): New function.
	* src/DownloadCommand.cc: sleep -> Util::sleep
	* test/TimeSeedCriteriaTest.cc: sleep -> Util::sleep
	MinGW build enhancements. The following files are added:
	* src/timegm.{c,h}
	Changes to support the above new files:
	* configure.ac
	* src/Makefile.am
	* src/a2time.h
	* src/Util.cc:
	* src/strptime.c: Added support for %Z option.
	Miscellenous build fixes/enhancements.
	* configure.ac: Added summary report.
	* src/Platform.h: Tweaked #include's.
	* src/a2netcompat.h: Tweaked #include's.
	* src/strptime.h: Tweaked #include's.
	* src/gai_strerror.c: Tweaked #include's.
	* src/gai_strerror.h: _D_GETADDRINFO_H -> _D_GAI_STRERROR_H
	* src/getaddrinfo.h: Moved #ifndef __MINGW32__
	* src/gettimeofday.h: Added HAVE_CONFIG_H
			
			
				pull/1/head
			
			
		
							parent
							
								
									c14c80276a
								
							
						
					
					
						commit
						6aa98f9b9f
					
				
							
								
								
									
										29
									
								
								ChangeLog
								
								
								
								
							
							
						
						
									
										29
									
								
								ChangeLog
								
								
								
								
							| 
						 | 
				
			
			@ -1,3 +1,32 @@
 | 
			
		|||
2007-08-10  Ross Smith II  <aria2spam at smithii dot com>
 | 
			
		||||
 | 
			
		||||
	Move sleep functions to Util class:
 | 
			
		||||
	* src/Util.cc
 | 
			
		||||
	(sleep): New function.
 | 
			
		||||
	(usleep): New function.
 | 
			
		||||
	* src/DownloadCommand.cc: sleep -> Util::sleep
 | 
			
		||||
	* test/TimeSeedCriteriaTest.cc: sleep -> Util::sleep
 | 
			
		||||
 | 
			
		||||
	MinGW build enhancements. The following files are added:
 | 
			
		||||
	* src/timegm.{c,h}
 | 
			
		||||
 | 
			
		||||
	Changes to support the above new files:
 | 
			
		||||
	* configure.ac
 | 
			
		||||
	* src/Makefile.am
 | 
			
		||||
	* src/a2time.h
 | 
			
		||||
	* src/Util.cc:
 | 
			
		||||
	* src/strptime.c: Added support for %Z option.
 | 
			
		||||
 | 
			
		||||
	Miscellenous build fixes/enhancements.
 | 
			
		||||
	* configure.ac: Added summary report.
 | 
			
		||||
	* src/Platform.h: Tweaked #include's.
 | 
			
		||||
	* src/a2netcompat.h: Tweaked #include's.
 | 
			
		||||
	* src/strptime.h: Tweaked #include's.
 | 
			
		||||
	* src/gai_strerror.c: Tweaked #include's.
 | 
			
		||||
	* src/gai_strerror.h: _D_GETADDRINFO_H -> _D_GAI_STRERROR_H
 | 
			
		||||
	* src/getaddrinfo.h: Moved #ifndef __MINGW32__
 | 
			
		||||
	* src/gettimeofday.h: Added HAVE_CONFIG_H
 | 
			
		||||
 | 
			
		||||
2007-08-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 | 
			
		||||
 | 
			
		||||
	Increased the initial connection size in BitTorrent download to 40.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -142,6 +142,8 @@ HAVE_LOCALTIME_R_FALSE = @HAVE_LOCALTIME_R_FALSE@
 | 
			
		|||
HAVE_LOCALTIME_R_TRUE = @HAVE_LOCALTIME_R_TRUE@
 | 
			
		||||
HAVE_STRPTIME_FALSE = @HAVE_STRPTIME_FALSE@
 | 
			
		||||
HAVE_STRPTIME_TRUE = @HAVE_STRPTIME_TRUE@
 | 
			
		||||
HAVE_TIMEGM_FALSE = @HAVE_TIMEGM_FALSE@
 | 
			
		||||
HAVE_TIMEGM_TRUE = @HAVE_TIMEGM_TRUE@
 | 
			
		||||
INSTALL_DATA = @INSTALL_DATA@
 | 
			
		||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | 
			
		||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -334,6 +334,9 @@
 | 
			
		|||
/* Define to 1 if you have the <unistd.h> header file. */
 | 
			
		||||
#undef HAVE_UNISTD_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `unsetenv' function. */
 | 
			
		||||
#undef HAVE_UNSETENV
 | 
			
		||||
 | 
			
		||||
/* Define if you have the unsigned long long type. */
 | 
			
		||||
#undef HAVE_UNSIGNED_LONG_LONG
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -778,6 +778,8 @@ HAVE_LOCALTIME_R_TRUE
 | 
			
		|||
HAVE_LOCALTIME_R_FALSE
 | 
			
		||||
HAVE_STRPTIME_TRUE
 | 
			
		||||
HAVE_STRPTIME_FALSE
 | 
			
		||||
HAVE_TIMEGM_TRUE
 | 
			
		||||
HAVE_TIMEGM_FALSE
 | 
			
		||||
LTLIBOBJS'
 | 
			
		||||
ac_subst_files=''
 | 
			
		||||
      ac_precious_vars='build_alias
 | 
			
		||||
| 
						 | 
				
			
			@ -12693,7 +12695,7 @@ done
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
for ac_func in __argz_count __argz_next __argz_stringify daemon ftruncate getcwd getpagesize inet_ntoa memchr mempcpy memset mkdir munmap nl_langinfo random rmdir select setlocale setmode sigaction sleep socket srandom stpcpy strcasecmp strchr strcspn strdup strerror strstr strtol strtoul timegm usleep
 | 
			
		||||
for ac_func in __argz_count __argz_next __argz_stringify daemon ftruncate getcwd getpagesize inet_ntoa memchr mempcpy memset mkdir munmap nl_langinfo random rmdir select setlocale setmode sigaction sleep socket srandom stpcpy strcasecmp strchr strcspn strdup strerror strstr strtol strtoul unsetenv usleep
 | 
			
		||||
do
 | 
			
		||||
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 | 
			
		||||
{ echo "$as_me:$LINENO: checking for $ac_func" >&5
 | 
			
		||||
| 
						 | 
				
			
			@ -13586,6 +13588,120 @@ fi
 | 
			
		|||
done
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
for ac_func in timegm
 | 
			
		||||
do
 | 
			
		||||
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 | 
			
		||||
{ echo "$as_me:$LINENO: checking for $ac_func" >&5
 | 
			
		||||
echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
 | 
			
		||||
if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
 | 
			
		||||
  echo $ECHO_N "(cached) $ECHO_C" >&6
 | 
			
		||||
else
 | 
			
		||||
  cat >conftest.$ac_ext <<_ACEOF
 | 
			
		||||
/* confdefs.h.  */
 | 
			
		||||
_ACEOF
 | 
			
		||||
cat confdefs.h >>conftest.$ac_ext
 | 
			
		||||
cat >>conftest.$ac_ext <<_ACEOF
 | 
			
		||||
/* end confdefs.h.  */
 | 
			
		||||
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
 | 
			
		||||
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
 | 
			
		||||
#define $ac_func innocuous_$ac_func
 | 
			
		||||
 | 
			
		||||
/* System header to define __stub macros and hopefully few prototypes,
 | 
			
		||||
    which can conflict with char $ac_func (); below.
 | 
			
		||||
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
 | 
			
		||||
    <limits.h> exists even on freestanding compilers.  */
 | 
			
		||||
 | 
			
		||||
#ifdef __STDC__
 | 
			
		||||
# include <limits.h>
 | 
			
		||||
#else
 | 
			
		||||
# include <assert.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#undef $ac_func
 | 
			
		||||
 | 
			
		||||
/* Override any GCC internal prototype to avoid an error.
 | 
			
		||||
   Use char because int might match the return type of a GCC
 | 
			
		||||
   builtin and then its argument prototype would still apply.  */
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C"
 | 
			
		||||
#endif
 | 
			
		||||
char $ac_func ();
 | 
			
		||||
/* The GNU C library defines this for functions which it implements
 | 
			
		||||
    to always fail with ENOSYS.  Some functions are actually named
 | 
			
		||||
    something starting with __ and the normal name is an alias.  */
 | 
			
		||||
#if defined __stub_$ac_func || defined __stub___$ac_func
 | 
			
		||||
choke me
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main ()
 | 
			
		||||
{
 | 
			
		||||
return $ac_func ();
 | 
			
		||||
  ;
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
_ACEOF
 | 
			
		||||
rm -f conftest.$ac_objext conftest$ac_exeext
 | 
			
		||||
if { (ac_try="$ac_link"
 | 
			
		||||
case "(($ac_try" in
 | 
			
		||||
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
 | 
			
		||||
  *) ac_try_echo=$ac_try;;
 | 
			
		||||
esac
 | 
			
		||||
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 | 
			
		||||
  (eval "$ac_link") 2>conftest.er1
 | 
			
		||||
  ac_status=$?
 | 
			
		||||
  grep -v '^ *+' conftest.er1 >conftest.err
 | 
			
		||||
  rm -f conftest.er1
 | 
			
		||||
  cat conftest.err >&5
 | 
			
		||||
  echo "$as_me:$LINENO: \$? = $ac_status" >&5
 | 
			
		||||
  (exit $ac_status); } && {
 | 
			
		||||
	 test -z "$ac_c_werror_flag" ||
 | 
			
		||||
	 test ! -s conftest.err
 | 
			
		||||
       } && test -s conftest$ac_exeext &&
 | 
			
		||||
       $as_test_x conftest$ac_exeext; then
 | 
			
		||||
  eval "$as_ac_var=yes"
 | 
			
		||||
else
 | 
			
		||||
  echo "$as_me: failed program was:" >&5
 | 
			
		||||
sed 's/^/| /' conftest.$ac_ext >&5
 | 
			
		||||
 | 
			
		||||
	eval "$as_ac_var=no"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 | 
			
		||||
      conftest$ac_exeext conftest.$ac_ext
 | 
			
		||||
fi
 | 
			
		||||
ac_res=`eval echo '${'$as_ac_var'}'`
 | 
			
		||||
	       { echo "$as_me:$LINENO: result: $ac_res" >&5
 | 
			
		||||
echo "${ECHO_T}$ac_res" >&6; }
 | 
			
		||||
if test `eval echo '${'$as_ac_var'}'` = yes; then
 | 
			
		||||
  cat >>confdefs.h <<_ACEOF
 | 
			
		||||
#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
 | 
			
		||||
_ACEOF
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if true; then
 | 
			
		||||
  HAVE_TIMEGM_TRUE=
 | 
			
		||||
  HAVE_TIMEGM_FALSE='#'
 | 
			
		||||
else
 | 
			
		||||
  HAVE_TIMEGM_TRUE='#'
 | 
			
		||||
  HAVE_TIMEGM_FALSE=
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if false; then
 | 
			
		||||
  HAVE_TIMEGM_TRUE=
 | 
			
		||||
  HAVE_TIMEGM_FALSE='#'
 | 
			
		||||
else
 | 
			
		||||
  HAVE_TIMEGM_TRUE='#'
 | 
			
		||||
  HAVE_TIMEGM_FALSE=
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
case "$target" in
 | 
			
		||||
	*mingw*)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13598,6 +13714,16 @@ else
 | 
			
		|||
  HAVE_GETADDRINFO_FALSE=
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if false; then
 | 
			
		||||
  HAVE_GAI_STRERROR_TRUE=
 | 
			
		||||
  HAVE_GAI_STRERROR_FALSE='#'
 | 
			
		||||
else
 | 
			
		||||
  HAVE_GAI_STRERROR_TRUE='#'
 | 
			
		||||
  HAVE_GAI_STRERROR_FALSE=
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
		;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13874,6 +14000,20 @@ echo "$as_me: error: conditional \"HAVE_STRPTIME\" was never defined.
 | 
			
		|||
Usually this means the macro was only invoked conditionally." >&2;}
 | 
			
		||||
   { (exit 1); exit 1; }; }
 | 
			
		||||
fi
 | 
			
		||||
if test -z "${HAVE_TIMEGM_TRUE}" && test -z "${HAVE_TIMEGM_FALSE}"; then
 | 
			
		||||
  { { echo "$as_me:$LINENO: error: conditional \"HAVE_TIMEGM\" was never defined.
 | 
			
		||||
Usually this means the macro was only invoked conditionally." >&5
 | 
			
		||||
echo "$as_me: error: conditional \"HAVE_TIMEGM\" was never defined.
 | 
			
		||||
Usually this means the macro was only invoked conditionally." >&2;}
 | 
			
		||||
   { (exit 1); exit 1; }; }
 | 
			
		||||
fi
 | 
			
		||||
if test -z "${HAVE_TIMEGM_TRUE}" && test -z "${HAVE_TIMEGM_FALSE}"; then
 | 
			
		||||
  { { echo "$as_me:$LINENO: error: conditional \"HAVE_TIMEGM\" was never defined.
 | 
			
		||||
Usually this means the macro was only invoked conditionally." >&5
 | 
			
		||||
echo "$as_me: error: conditional \"HAVE_TIMEGM\" was never defined.
 | 
			
		||||
Usually this means the macro was only invoked conditionally." >&2;}
 | 
			
		||||
   { (exit 1); exit 1; }; }
 | 
			
		||||
fi
 | 
			
		||||
if test -z "${HAVE_GETADDRINFO_TRUE}" && test -z "${HAVE_GETADDRINFO_FALSE}"; then
 | 
			
		||||
  { { echo "$as_me:$LINENO: error: conditional \"HAVE_GETADDRINFO\" was never defined.
 | 
			
		||||
Usually this means the macro was only invoked conditionally." >&5
 | 
			
		||||
| 
						 | 
				
			
			@ -13881,6 +14021,13 @@ echo "$as_me: error: conditional \"HAVE_GETADDRINFO\" was never defined.
 | 
			
		|||
Usually this means the macro was only invoked conditionally." >&2;}
 | 
			
		||||
   { (exit 1); exit 1; }; }
 | 
			
		||||
fi
 | 
			
		||||
if test -z "${HAVE_GAI_STRERROR_TRUE}" && test -z "${HAVE_GAI_STRERROR_FALSE}"; then
 | 
			
		||||
  { { echo "$as_me:$LINENO: error: conditional \"HAVE_GAI_STRERROR\" was never defined.
 | 
			
		||||
Usually this means the macro was only invoked conditionally." >&5
 | 
			
		||||
echo "$as_me: error: conditional \"HAVE_GAI_STRERROR\" was never defined.
 | 
			
		||||
Usually this means the macro was only invoked conditionally." >&2;}
 | 
			
		||||
   { (exit 1); exit 1; }; }
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
: ${CONFIG_STATUS=./config.status}
 | 
			
		||||
ac_clean_files_save=$ac_clean_files
 | 
			
		||||
| 
						 | 
				
			
			@ -14630,10 +14777,12 @@ HAVE_LOCALTIME_R_TRUE!$HAVE_LOCALTIME_R_TRUE$ac_delim
 | 
			
		|||
HAVE_LOCALTIME_R_FALSE!$HAVE_LOCALTIME_R_FALSE$ac_delim
 | 
			
		||||
HAVE_STRPTIME_TRUE!$HAVE_STRPTIME_TRUE$ac_delim
 | 
			
		||||
HAVE_STRPTIME_FALSE!$HAVE_STRPTIME_FALSE$ac_delim
 | 
			
		||||
HAVE_TIMEGM_TRUE!$HAVE_TIMEGM_TRUE$ac_delim
 | 
			
		||||
HAVE_TIMEGM_FALSE!$HAVE_TIMEGM_FALSE$ac_delim
 | 
			
		||||
LTLIBOBJS!$LTLIBOBJS$ac_delim
 | 
			
		||||
_ACEOF
 | 
			
		||||
 | 
			
		||||
  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 67; then
 | 
			
		||||
  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 69; then
 | 
			
		||||
    break
 | 
			
		||||
  elif $ac_last_try; then
 | 
			
		||||
    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
 | 
			
		||||
| 
						 | 
				
			
			@ -15325,3 +15474,19 @@ if test "$no_create" != yes; then
 | 
			
		|||
  $ac_cs_success || { (exit 1); exit 1; }
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
echo " "
 | 
			
		||||
echo "Build:          $build"
 | 
			
		||||
echo "Target:         $target"
 | 
			
		||||
echo "Install prefix: $prefix"
 | 
			
		||||
echo "CFLAGS:         $CFLAGS"
 | 
			
		||||
echo "CPPFLAGS:       $CPPFLAGS"
 | 
			
		||||
echo "LDFLAGS:        $LDFLAGS"
 | 
			
		||||
echo "LIBS:           $LIBS"
 | 
			
		||||
echo "GnuTLS:         $have_libgnutls"
 | 
			
		||||
echo "OpenSSL:        $have_openssl"
 | 
			
		||||
echo "LibXML2:        $have_libxml2"
 | 
			
		||||
echo "LibAres:        $have_libares"
 | 
			
		||||
echo "LibCares:       $have_libcares"
 | 
			
		||||
echo "Bittorrent:     $enable_bittorrent"
 | 
			
		||||
echo "Metalink:       $enable_metalink"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										25
									
								
								configure.ac
								
								
								
								
							
							
						
						
									
										25
									
								
								configure.ac
								
								
								
								
							| 
						 | 
				
			
			@ -141,7 +141,7 @@ AC_FUNC_MMAP
 | 
			
		|||
AC_FUNC_SELECT_ARGTYPES
 | 
			
		||||
AC_FUNC_STAT
 | 
			
		||||
AC_FUNC_VPRINTF
 | 
			
		||||
AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify daemon ftruncate getcwd getpagesize inet_ntoa memchr mempcpy memset mkdir munmap nl_langinfo random rmdir select setlocale setmode sigaction sleep socket srandom stpcpy strcasecmp strchr strcspn strdup strerror strstr strtol strtoul timegm usleep])
 | 
			
		||||
AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify daemon ftruncate getcwd getpagesize inet_ntoa memchr mempcpy memset mkdir munmap nl_langinfo random rmdir select setlocale setmode sigaction sleep socket srandom stpcpy strcasecmp strchr strcspn strdup strerror strstr strtol strtoul unsetenv usleep])
 | 
			
		||||
 | 
			
		||||
AC_CHECK_FUNCS([basename],
 | 
			
		||||
	[AM_CONDITIONAL([HAVE_BASENAME], true)],
 | 
			
		||||
| 
						 | 
				
			
			@ -164,11 +164,16 @@ AC_CHECK_FUNCS([localtime_r],
 | 
			
		|||
AC_CHECK_FUNCS([strptime],
 | 
			
		||||
	[AM_CONDITIONAL([HAVE_STRPTIME], true)],
 | 
			
		||||
	[AM_CONDITIONAL([HAVE_STRPTIME], false)])
 | 
			
		||||
AC_CHECK_FUNCS([timegm],
 | 
			
		||||
	[AM_CONDITIONAL([HAVE_TIMEGM], true)],
 | 
			
		||||
	[AM_CONDITIONAL([HAVE_TIMEGM], false)])
 | 
			
		||||
 | 
			
		||||
case "$target" in
 | 
			
		||||
	*mingw*)
 | 
			
		||||
		dnl true if _WIN32_WINNT >= 0x0501
 | 
			
		||||
		dnl defined in ws2tcpip.h, but only if _WIN32_WINNT >= 0x0501
 | 
			
		||||
		AM_CONDITIONAL([HAVE_GETADDRINFO], true)
 | 
			
		||||
		dnl defined in ws2tcpip.h, but missing in C:\mingw\lib\libws2_32.a
 | 
			
		||||
		AM_CONDITIONAL([HAVE_GAI_STRERROR], false)
 | 
			
		||||
		;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -180,3 +185,19 @@ AC_CONFIG_FILES([Makefile
 | 
			
		|||
		intl/Makefile
 | 
			
		||||
		doc/Makefile])
 | 
			
		||||
AC_OUTPUT
 | 
			
		||||
 | 
			
		||||
echo " "
 | 
			
		||||
echo "Build:          $build"
 | 
			
		||||
echo "Target:         $target"
 | 
			
		||||
echo "Install prefix: $prefix"
 | 
			
		||||
echo "CFLAGS:         $CFLAGS"
 | 
			
		||||
echo "CPPFLAGS:       $CPPFLAGS"
 | 
			
		||||
echo "LDFLAGS:        $LDFLAGS"
 | 
			
		||||
echo "LIBS:           $LIBS"
 | 
			
		||||
echo "GnuTLS:         $have_libgnutls"
 | 
			
		||||
echo "OpenSSL:        $have_openssl"
 | 
			
		||||
echo "LibXML2:        $have_libxml2"
 | 
			
		||||
echo "LibAres:        $have_libares"
 | 
			
		||||
echo "LibCares:       $have_libcares"
 | 
			
		||||
echo "Bittorrent:     $enable_bittorrent"
 | 
			
		||||
echo "Metalink:       $enable_metalink"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -120,6 +120,8 @@ HAVE_LOCALTIME_R_FALSE = @HAVE_LOCALTIME_R_FALSE@
 | 
			
		|||
HAVE_LOCALTIME_R_TRUE = @HAVE_LOCALTIME_R_TRUE@
 | 
			
		||||
HAVE_STRPTIME_FALSE = @HAVE_STRPTIME_FALSE@
 | 
			
		||||
HAVE_STRPTIME_TRUE = @HAVE_STRPTIME_TRUE@
 | 
			
		||||
HAVE_TIMEGM_FALSE = @HAVE_TIMEGM_FALSE@
 | 
			
		||||
HAVE_TIMEGM_TRUE = @HAVE_TIMEGM_TRUE@
 | 
			
		||||
INSTALL_DATA = @INSTALL_DATA@
 | 
			
		||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | 
			
		||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -116,6 +116,8 @@ HAVE_LOCALTIME_R_FALSE = @HAVE_LOCALTIME_R_FALSE@
 | 
			
		|||
HAVE_LOCALTIME_R_TRUE = @HAVE_LOCALTIME_R_TRUE@
 | 
			
		||||
HAVE_STRPTIME_FALSE = @HAVE_STRPTIME_FALSE@
 | 
			
		||||
HAVE_STRPTIME_TRUE = @HAVE_STRPTIME_TRUE@
 | 
			
		||||
HAVE_TIMEGM_FALSE = @HAVE_TIMEGM_FALSE@
 | 
			
		||||
HAVE_TIMEGM_TRUE = @HAVE_TIMEGM_TRUE@
 | 
			
		||||
INSTALL_DATA = @INSTALL_DATA@
 | 
			
		||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | 
			
		||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -71,11 +71,7 @@ bool DownloadCommand::executeInternal() {
 | 
			
		|||
  // TODO we need to specify the sum of all segmentMan's download speed here.
 | 
			
		||||
  if(maxDownloadSpeedLimit > 0 &&
 | 
			
		||||
     maxDownloadSpeedLimit < _requestGroup->getSegmentMan()->calculateDownloadSpeed()) {
 | 
			
		||||
#ifdef HAVE_USLEEP
 | 
			
		||||
    usleep(1);
 | 
			
		||||
#else
 | 
			
		||||
    _sleep(1);
 | 
			
		||||
#endif // HAVE_USLEEP
 | 
			
		||||
  Util::usleep(1);
 | 
			
		||||
    e->commands.push_back(this);
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -260,6 +260,10 @@ if !HAVE_STRPTIME
 | 
			
		|||
SRCS += strptime.c strptime.h
 | 
			
		||||
endif # !HAVE_STRPTIME
 | 
			
		||||
 | 
			
		||||
if !HAVE_TIMEGM
 | 
			
		||||
SRCS += timegm.c timegm.h
 | 
			
		||||
endif # !HAVE_TIMEGM
 | 
			
		||||
 | 
			
		||||
noinst_LIBRARIES = libaria2c.a
 | 
			
		||||
libaria2c_a_SOURCES = $(SRCS)
 | 
			
		||||
aria2c_LDADD = libaria2c.a @LIBINTL@ @ALLOCA@ @LIBGNUTLS_LIBS@\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -169,6 +169,7 @@ bin_PROGRAMS = aria2c$(EXEEXT)
 | 
			
		|||
@HAVE_INET_ATON_FALSE@am__append_8 = inet_aton.c inet_aton.h
 | 
			
		||||
@HAVE_LOCALTIME_R_FALSE@am__append_9 = localtime_r.c localtime_r.h
 | 
			
		||||
@HAVE_STRPTIME_FALSE@am__append_10 = strptime.c strptime.h
 | 
			
		||||
@HAVE_TIMEGM_FALSE@am__append_11 = timegm.c timegm.h
 | 
			
		||||
subdir = src
 | 
			
		||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in alloca.c
 | 
			
		||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 | 
			
		||||
| 
						 | 
				
			
			@ -334,7 +335,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 | 
			
		|||
	MetalinkRequestInfo.cc MetalinkRequestInfo.h libgen.c libgen.h \
 | 
			
		||||
	getaddrinfo.c getaddrinfo.h gai_strerror.c gai_strerror.h \
 | 
			
		||||
	gettimeofday.c gettimeofday.h inet_aton.c inet_aton.h \
 | 
			
		||||
	localtime_r.c localtime_r.h strptime.c strptime.h
 | 
			
		||||
	localtime_r.c localtime_r.h strptime.c strptime.h timegm.c \
 | 
			
		||||
	timegm.h
 | 
			
		||||
@ENABLE_MESSAGE_DIGEST_TRUE@am__objects_1 =  \
 | 
			
		||||
@ENABLE_MESSAGE_DIGEST_TRUE@	ChunkChecksumValidator.$(OBJEXT) \
 | 
			
		||||
@ENABLE_MESSAGE_DIGEST_TRUE@	IteratableChunkChecksumValidator.$(OBJEXT) \
 | 
			
		||||
| 
						 | 
				
			
			@ -421,7 +423,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 | 
			
		|||
@HAVE_INET_ATON_FALSE@am__objects_8 = inet_aton.$(OBJEXT)
 | 
			
		||||
@HAVE_LOCALTIME_R_FALSE@am__objects_9 = localtime_r.$(OBJEXT)
 | 
			
		||||
@HAVE_STRPTIME_FALSE@am__objects_10 = strptime.$(OBJEXT)
 | 
			
		||||
am__objects_11 = SocketCore.$(OBJEXT) Command.$(OBJEXT) \
 | 
			
		||||
@HAVE_TIMEGM_FALSE@am__objects_11 = timegm.$(OBJEXT)
 | 
			
		||||
am__objects_12 = SocketCore.$(OBJEXT) Command.$(OBJEXT) \
 | 
			
		||||
	AbstractCommand.$(OBJEXT) \
 | 
			
		||||
	InitiateConnectionCommandFactory.$(OBJEXT) \
 | 
			
		||||
	DownloadCommand.$(OBJEXT) \
 | 
			
		||||
| 
						 | 
				
			
			@ -464,8 +467,9 @@ am__objects_11 = SocketCore.$(OBJEXT) Command.$(OBJEXT) \
 | 
			
		|||
	FileEntry.$(OBJEXT) Platform.$(OBJEXT) $(am__objects_1) \
 | 
			
		||||
	$(am__objects_2) $(am__objects_3) $(am__objects_4) \
 | 
			
		||||
	$(am__objects_5) $(am__objects_6) $(am__objects_7) \
 | 
			
		||||
	$(am__objects_8) $(am__objects_9) $(am__objects_10)
 | 
			
		||||
am_libaria2c_a_OBJECTS = $(am__objects_11)
 | 
			
		||||
	$(am__objects_8) $(am__objects_9) $(am__objects_10) \
 | 
			
		||||
	$(am__objects_11)
 | 
			
		||||
am_libaria2c_a_OBJECTS = $(am__objects_12)
 | 
			
		||||
libaria2c_a_OBJECTS = $(am_libaria2c_a_OBJECTS)
 | 
			
		||||
am__installdirs = "$(DESTDIR)$(bindir)"
 | 
			
		||||
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 | 
			
		||||
| 
						 | 
				
			
			@ -547,6 +551,8 @@ HAVE_LOCALTIME_R_FALSE = @HAVE_LOCALTIME_R_FALSE@
 | 
			
		|||
HAVE_LOCALTIME_R_TRUE = @HAVE_LOCALTIME_R_TRUE@
 | 
			
		||||
HAVE_STRPTIME_FALSE = @HAVE_STRPTIME_FALSE@
 | 
			
		||||
HAVE_STRPTIME_TRUE = @HAVE_STRPTIME_TRUE@
 | 
			
		||||
HAVE_TIMEGM_FALSE = @HAVE_TIMEGM_FALSE@
 | 
			
		||||
HAVE_TIMEGM_TRUE = @HAVE_TIMEGM_TRUE@
 | 
			
		||||
INSTALL_DATA = @INSTALL_DATA@
 | 
			
		||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | 
			
		||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
 | 
			
		||||
| 
						 | 
				
			
			@ -718,7 +724,7 @@ SRCS = Socket.h SocketCore.cc SocketCore.h Command.cc Command.h \
 | 
			
		|||
	Platform.h $(am__append_1) $(am__append_2) $(am__append_3) \
 | 
			
		||||
	$(am__append_4) $(am__append_5) $(am__append_6) \
 | 
			
		||||
	$(am__append_7) $(am__append_8) $(am__append_9) \
 | 
			
		||||
	$(am__append_10)
 | 
			
		||||
	$(am__append_10) $(am__append_11)
 | 
			
		||||
noinst_LIBRARIES = libaria2c.a
 | 
			
		||||
libaria2c_a_SOURCES = $(SRCS)
 | 
			
		||||
aria2c_LDADD = libaria2c.a @LIBINTL@ @ALLOCA@ @LIBGNUTLS_LIBS@\
 | 
			
		||||
| 
						 | 
				
			
			@ -968,6 +974,7 @@ distclean-compile:
 | 
			
		|||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/messageDigest.Po@am__quote@
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strptime.Po@am__quote@
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timegm.Po@am__quote@
 | 
			
		||||
 | 
			
		||||
.c.o:
 | 
			
		||||
@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,8 +38,16 @@
 | 
			
		|||
 | 
			
		||||
#ifdef HAVE_WINSOCK2_H
 | 
			
		||||
 | 
			
		||||
#ifndef _WIN32_WINNT
 | 
			
		||||
# define _WIN32_WINNT 0x501
 | 
			
		||||
#endif // _WIN32_WINNT
 | 
			
		||||
#include <winsock2.h>
 | 
			
		||||
#undef ERROR
 | 
			
		||||
#ifdef HAVE_WS2TCPIP_H
 | 
			
		||||
# include <ws2tcpip.h>
 | 
			
		||||
#endif // HAVE_WS2TCPIP_H
 | 
			
		||||
 | 
			
		||||
#include "common.h"
 | 
			
		||||
#include "a2netcompat.h"
 | 
			
		||||
#include "DlAbortEx.h"
 | 
			
		||||
#include "Platform.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										70
									
								
								src/Util.cc
								
								
								
								
							
							
						
						
									
										70
									
								
								src/Util.cc
								
								
								
								
							| 
						 | 
				
			
			@ -38,6 +38,7 @@
 | 
			
		|||
#include "message.h"
 | 
			
		||||
#include "SimpleRandomizer.h"
 | 
			
		||||
#include "a2netcompat.h"
 | 
			
		||||
#include "a2time.h"
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -45,6 +46,13 @@
 | 
			
		|||
#include <signal.h>
 | 
			
		||||
#include <iomanip>
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_SLEEP
 | 
			
		||||
# ifdef HAVE_WINSOCK_H
 | 
			
		||||
#  define WIN32_LEAN_AND_MEAN
 | 
			
		||||
#  include <windows.h>
 | 
			
		||||
# endif // HAVE_WINSOCK_H
 | 
			
		||||
#endif // HAVE_SLEEP
 | 
			
		||||
 | 
			
		||||
template<typename T>
 | 
			
		||||
string uint2str(T value, bool comma) {
 | 
			
		||||
  string str;
 | 
			
		||||
| 
						 | 
				
			
			@ -625,23 +633,8 @@ time_t Util::httpGMT(const string& httpStdTime)
 | 
			
		|||
  struct tm tm;
 | 
			
		||||
  memset(&tm, 0, sizeof(tm));
 | 
			
		||||
  strptime(httpStdTime.c_str(), "%a, %Y-%m-%d %H:%M:%S GMT", &tm);
 | 
			
		||||
#ifdef HAVE_TIMEGM
 | 
			
		||||
  time_t thetime = timegm(&tm);
 | 
			
		||||
  return thetime;
 | 
			
		||||
#else
 | 
			
		||||
  char *tz;
 | 
			
		||||
  tz = getenv("TZ");
 | 
			
		||||
  putenv("TZ=");
 | 
			
		||||
  tzset();
 | 
			
		||||
  time_t thetime = mktime(&tm);
 | 
			
		||||
  if (tz) {
 | 
			
		||||
    char s[256];
 | 
			
		||||
    snprintf(s, sizeof(s), "TZ=%s", tz);
 | 
			
		||||
    putenv(s);
 | 
			
		||||
  }
 | 
			
		||||
  tzset();
 | 
			
		||||
  return thetime;
 | 
			
		||||
#endif // HAVE_TIMEGM
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Util::toStream(ostream& os, const FileEntries& fileEntries)
 | 
			
		||||
| 
						 | 
				
			
			@ -657,3 +650,50 @@ void Util::toStream(ostream& os, const FileEntries& fileEntries)
 | 
			
		|||
    os << "---+---------------------------------------------------------------------------" << "\n";
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Util::sleep(long seconds) {
 | 
			
		||||
#ifdef HAVE_SLEEP
 | 
			
		||||
  ::sleep(seconds);
 | 
			
		||||
#elif defined(HAVE_USLEEP)
 | 
			
		||||
  ::usleep(seconds * 1000000);
 | 
			
		||||
#elif defined(HAVE_WINSOCK2_H)
 | 
			
		||||
  ::Sleep(seconds * 1000);
 | 
			
		||||
#else
 | 
			
		||||
#error no sleep function is available (nanosleep?)
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Util::usleep(long microseconds) {
 | 
			
		||||
#ifdef HAVE_USLEEP
 | 
			
		||||
  ::usleep(microseconds);
 | 
			
		||||
#elif defined(HAVE_WINSOCK2_H)
 | 
			
		||||
 | 
			
		||||
	LARGE_INTEGER current, freq, end;
 | 
			
		||||
 | 
			
		||||
	static enum {GET_FREQUENCY, GET_MICROSECONDS, SKIP_MICROSECONDS} state = GET_FREQUENCY;
 | 
			
		||||
 | 
			
		||||
	if (state == GET_FREQUENCY) {
 | 
			
		||||
		if (QueryPerformanceFrequency(&freq))
 | 
			
		||||
			state = GET_MICROSECONDS;
 | 
			
		||||
		else
 | 
			
		||||
			state = SKIP_MICROSECONDS;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	long msec = microseconds / 1000;
 | 
			
		||||
	microseconds %= 1000;    
 | 
			
		||||
 | 
			
		||||
	if (state == GET_MICROSECONDS && microseconds) {
 | 
			
		||||
		QueryPerformanceCounter(&end);
 | 
			
		||||
 | 
			
		||||
		end.QuadPart += (freq.QuadPart * microseconds) / 1000000;
 | 
			
		||||
 | 
			
		||||
		while (QueryPerformanceCounter(¤t) && (current.QuadPart <= end.QuadPart))
 | 
			
		||||
			/* noop */ ;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (msec)
 | 
			
		||||
		Sleep(msec);
 | 
			
		||||
#else
 | 
			
		||||
	#error no usleep function is available (nanosleep?)
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -131,6 +131,10 @@ public:
 | 
			
		|||
  static time_t httpGMT(const string& httpTimeFormat);
 | 
			
		||||
 | 
			
		||||
  static void toStream(ostream& os, const FileEntries& entries);
 | 
			
		||||
 | 
			
		||||
  static void sleep(long seconds);
 | 
			
		||||
 | 
			
		||||
  static void usleep(long microseconds);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // _D_UTIL_H_
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,6 +36,28 @@
 | 
			
		|||
 | 
			
		||||
#include "a2io.h"
 | 
			
		||||
 | 
			
		||||
#ifndef __CYGWIN__
 | 
			
		||||
# ifdef HAVE_WINSOCK2_H
 | 
			
		||||
#  ifndef _WIN32_WINNT
 | 
			
		||||
#   define _WIN32_WINNT 0x501
 | 
			
		||||
#  endif // _WIN32_WINNT
 | 
			
		||||
#  include <winsock2.h>
 | 
			
		||||
#  undef ERROR
 | 
			
		||||
# endif // HAVE_WINSOCK2_H
 | 
			
		||||
# ifdef HAVE_WS2TCPIP_H
 | 
			
		||||
#  include <ws2tcpip.h>
 | 
			
		||||
# endif // HAVE_WS2TCPIP_H
 | 
			
		||||
#endif // !__CYGWIN__
 | 
			
		||||
 | 
			
		||||
#ifdef __MINGW32__
 | 
			
		||||
# define SOCKOPT_T const char
 | 
			
		||||
# define HAVE_GETADDRINFO
 | 
			
		||||
# undef HAVE_GAI_STRERROR
 | 
			
		||||
# undef gai_strerror
 | 
			
		||||
#else
 | 
			
		||||
# define SOCKOPT_T socklen_t
 | 
			
		||||
#endif // __MINGW32__
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_NETDB_H
 | 
			
		||||
# include <netdb.h>
 | 
			
		||||
#endif // HAVE_NETDB_H
 | 
			
		||||
| 
						 | 
				
			
			@ -60,33 +82,13 @@
 | 
			
		|||
# include "inet_aton.h"
 | 
			
		||||
#endif // HAVE_INET_ATON
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_WINSOCK2_H
 | 
			
		||||
#ifndef _WIN32_WINNT
 | 
			
		||||
# define _WIN32_WINNT 0x501
 | 
			
		||||
#endif // _WIN32_WINNT
 | 
			
		||||
# include <winsock2.h>
 | 
			
		||||
# undef ERROR
 | 
			
		||||
#endif // HAVE_WINSOCK2_H
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_WS2TCPIP_H
 | 
			
		||||
# include <ws2tcpip.h>
 | 
			
		||||
#endif // HAVE_WS2TCPIP_H
 | 
			
		||||
 | 
			
		||||
#ifdef __MINGW32__
 | 
			
		||||
# define SOCKOPT_T const char
 | 
			
		||||
# undef HAVE_GETADDRINFO
 | 
			
		||||
# undef HAVE_GAI_STRERROR
 | 
			
		||||
# undef gai_strerror
 | 
			
		||||
#else
 | 
			
		||||
# define SOCKOPT_T socklen_t
 | 
			
		||||
#endif // __MINGW32__
 | 
			
		||||
#ifndef HAVE_GETADDRINFO
 | 
			
		||||
# include "getaddrinfo.h"
 | 
			
		||||
# define HAVE_GAI_STRERROR
 | 
			
		||||
#endif // HAVE_GETADDRINFO
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_GAI_STRERROR
 | 
			
		||||
# include "gai_strerror.h"
 | 
			
		||||
#endif // HAVE_GAI_STRERROR
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_GETADDRINFO
 | 
			
		||||
# include "getaddrinfo.h"
 | 
			
		||||
#endif // HAVE_GETADDRINFO
 | 
			
		||||
 | 
			
		||||
#endif // _D_A2NETCOMPAT_H_
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,4 +49,8 @@
 | 
			
		|||
# include "strptime.h"
 | 
			
		||||
#endif // HAVE_STRPTIME
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_TIMEGM
 | 
			
		||||
# include "timegm.h"
 | 
			
		||||
#endif // HAVE_TIMEGM
 | 
			
		||||
 | 
			
		||||
#endif // _D_A2TIME_H_
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,16 +26,12 @@
 | 
			
		|||
 * SUCH DAMAGE.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#endif
 | 
			
		||||
#include "gai_strerror.h"
 | 
			
		||||
 | 
			
		||||
#ifdef ENABLE_NLS
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "gai_strerror.h"
 | 
			
		||||
 | 
			
		||||
#ifdef ENABLE_NLS
 | 
			
		||||
#define _(string) gettext(string)
 | 
			
		||||
#ifdef gettext_noop
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,8 +26,8 @@
 | 
			
		|||
 * SUCH DAMAGE.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef _D_GETADDRINFO_H
 | 
			
		||||
#define _D_GETADDRINFO_H
 | 
			
		||||
#ifndef _D_GAI_STRERROR_H
 | 
			
		||||
#define _D_GAI_STRERROR_H
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
| 
						 | 
				
			
			@ -131,7 +131,7 @@ extern "C" {
 | 
			
		|||
 * Fake struct and function names.
 | 
			
		||||
 * <netdb.h> might declares all or some of them.
 | 
			
		||||
 */
 | 
			
		||||
#if defined(HAVE_GETADDRINFO) || defined(HAVE_GETNAMEINFO) || defined(HAVE_GAI_STRERROR)
 | 
			
		||||
#if defined(HAVE_GAI_STRERROR)
 | 
			
		||||
#define gai_strerror my_gai_strerror
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -164,4 +164,4 @@ const char *gai_strerror();
 | 
			
		|||
};
 | 
			
		||||
#endif /* __cplusplus */
 | 
			
		||||
 | 
			
		||||
#endif /* not _D_GETADDRINFO_H */
 | 
			
		||||
#endif /* not _D_GAI_STRERROR_H */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -211,6 +211,8 @@ extern "C" {
 | 
			
		|||
#define PF_UNSPEC PF_INET
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef __MINGW32__
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * struct addrinfo.
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -225,6 +227,8 @@ struct addrinfo {
 | 
			
		|||
    struct addrinfo *ai_next;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // __MINGW32__
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Functions.
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,6 +36,10 @@
 | 
			
		|||
#ifndef _D_GETTIMEOFDAY_H
 | 
			
		||||
#define _D_GETTIMEOFDAY_H 1
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
# include "config.h"
 | 
			
		||||
#endif // HAVE_CONFIG_H
 | 
			
		||||
 | 
			
		||||
#include <sys/time.h>
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,6 +35,7 @@
 | 
			
		|||
 | 
			
		||||
#include <time.h>
 | 
			
		||||
 #include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
#ifdef __MINGW32__
 | 
			
		||||
#define WIN32_LEAN_AND_MEAN
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -51,12 +52,9 @@ static void localtime_r_atexit()
 | 
			
		|||
	DeleteCriticalSection(&localtime_r_cs);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif // __MINGW32__
 | 
			
		||||
 | 
			
		||||
struct tm * localtime_r(const time_t *clock, struct tm *result)
 | 
			
		||||
{
 | 
			
		||||
	static struct tm *local_tm;
 | 
			
		||||
#ifdef __MINGW32__
 | 
			
		||||
	static int initialized = 0;
 | 
			
		||||
 | 
			
		||||
	if (!initialized) {
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +67,7 @@ struct tm * localtime_r(const time_t *clock, struct tm *result)
 | 
			
		|||
	local_tm = localtime(clock);
 | 
			
		||||
	memcpy(result, local_tm, sizeof(struct tm));
 | 
			
		||||
	LeaveCriticalSection(&localtime_r_cs);
 | 
			
		||||
#endif // __MINGW32__
 | 
			
		||||
	return result;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // __MINGW32__
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,6 +30,18 @@
 | 
			
		|||
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 | 
			
		||||
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_CONFIG_H
 | 
			
		||||
# include "config.h"
 | 
			
		||||
#endif // HAVE_CONFIG_H
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_LOCALTIME_R
 | 
			
		||||
# include "localtime_r.h"
 | 
			
		||||
#endif // HAVE_LOCALTIME_R
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_TIMEGM
 | 
			
		||||
# include "timegm.h"
 | 
			
		||||
#endif // HAVE_TIMEGM
 | 
			
		||||
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -37,6 +49,14 @@
 | 
			
		|||
#include <ctype.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_ALLOCA_H
 | 
			
		||||
# include <alloca.h>
 | 
			
		||||
#endif // HAVE_ALLOCA_H
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_MALLOC_H
 | 
			
		||||
# include <malloc.h>
 | 
			
		||||
#endif // HAVE_MALLOC_H
 | 
			
		||||
 | 
			
		||||
#include "strptime.h"
 | 
			
		||||
 | 
			
		||||
static const char *abb_weekdays[] = {
 | 
			
		||||
| 
						 | 
				
			
			@ -198,8 +218,8 @@ set_week_number_mon4 (struct tm *timeptr, int wnum)
 | 
			
		|||
 | 
			
		||||
/* strptime: roken */
 | 
			
		||||
//extern "C"
 | 
			
		||||
char *
 | 
			
		||||
strptime (const char *buf, const char *format, struct tm *timeptr)
 | 
			
		||||
static char *
 | 
			
		||||
_strptime (const char *buf, const char *format, struct tm *timeptr, int *gmt)
 | 
			
		||||
{
 | 
			
		||||
    char c;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -414,7 +434,29 @@ strptime (const char *buf, const char *format, struct tm *timeptr)
 | 
			
		|||
		buf = s;
 | 
			
		||||
		break;
 | 
			
		||||
	    case 'Z' :
 | 
			
		||||
		/* Unsupported. Just ignore.  */
 | 
			
		||||
	    /* source: cygwin-1.5.24-2-src/cygwin-1.5.24-2/winsup/cygwin/libc/strptime.cc */
 | 
			
		||||
		{
 | 
			
		||||
			const char *cp;
 | 
			
		||||
			char *zonestr;
 | 
			
		||||
 | 
			
		||||
			for (cp = buf; *cp && isupper((unsigned char)*cp); ++cp) {/*empty*/}
 | 
			
		||||
			if (cp - buf) {
 | 
			
		||||
				zonestr = (char *) alloca(cp - buf + 1);
 | 
			
		||||
				strncpy(zonestr, buf, cp - buf);
 | 
			
		||||
				zonestr[cp - buf] = '\0';
 | 
			
		||||
				tzset();
 | 
			
		||||
				if (0 == strcmp(zonestr, "GMT")) {
 | 
			
		||||
					*gmt = 1;
 | 
			
		||||
				} else if (0 == strcmp(zonestr, tzname[0])) {
 | 
			
		||||
					timeptr->tm_isdst = 0;
 | 
			
		||||
				} else if (0 == strcmp(zonestr, tzname[1])) {
 | 
			
		||||
					timeptr->tm_isdst = 1;
 | 
			
		||||
				} else {
 | 
			
		||||
					return 0;
 | 
			
		||||
				}
 | 
			
		||||
				buf += cp - buf;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		break;
 | 
			
		||||
	    case '\0' :
 | 
			
		||||
		--format;
 | 
			
		||||
| 
						 | 
				
			
			@ -441,3 +483,19 @@ strptime (const char *buf, const char *format, struct tm *timeptr)
 | 
			
		|||
    }
 | 
			
		||||
    return (char *)buf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
char *
 | 
			
		||||
strptime (const char *buf, const char *format, struct tm *timeptr)
 | 
			
		||||
{
 | 
			
		||||
	char *ret;
 | 
			
		||||
	int gmt;
 | 
			
		||||
 | 
			
		||||
	gmt = 0;
 | 
			
		||||
	ret = _strptime(buf, format, timeptr, &gmt);
 | 
			
		||||
	if (ret && gmt) {
 | 
			
		||||
		time_t t = timegm(timeptr);
 | 
			
		||||
		localtime_r(&t, timeptr);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return (ret);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,12 +36,12 @@
 | 
			
		|||
#ifndef _D_STRPTIME_H
 | 
			
		||||
#define _D_STRPTIME_H
 | 
			
		||||
 | 
			
		||||
#include <time.h>
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif /* __cplusplus */
 | 
			
		||||
 | 
			
		||||
#include <time.h>
 | 
			
		||||
 | 
			
		||||
char * strptime (const char *buf, const char *format, struct tm *timeptr);
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -288,6 +288,8 @@ HAVE_LOCALTIME_R_FALSE = @HAVE_LOCALTIME_R_FALSE@
 | 
			
		|||
HAVE_LOCALTIME_R_TRUE = @HAVE_LOCALTIME_R_TRUE@
 | 
			
		||||
HAVE_STRPTIME_FALSE = @HAVE_STRPTIME_FALSE@
 | 
			
		||||
HAVE_STRPTIME_TRUE = @HAVE_STRPTIME_TRUE@
 | 
			
		||||
HAVE_TIMEGM_FALSE = @HAVE_TIMEGM_FALSE@
 | 
			
		||||
HAVE_TIMEGM_TRUE = @HAVE_TIMEGM_TRUE@
 | 
			
		||||
INSTALL_DATA = @INSTALL_DATA@
 | 
			
		||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | 
			
		||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
#include "TimeSeedCriteria.h"
 | 
			
		||||
#include "Util.h"
 | 
			
		||||
 | 
			
		||||
#include <cppunit/extensions/HelperMacros.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -18,11 +19,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(TimeSeedCriteriaTest);
 | 
			
		|||
 | 
			
		||||
void TimeSeedCriteriaTest::testEvaluate() {
 | 
			
		||||
  TimeSeedCriteria cri(1);
 | 
			
		||||
#ifdef HAVE_SLEEP
 | 
			
		||||
  sleep(1);
 | 
			
		||||
#else
 | 
			
		||||
  _sleep(1);
 | 
			
		||||
#endif
 | 
			
		||||
  Util::sleep(1);
 | 
			
		||||
  CPPUNIT_ASSERT(cri.evaluate());
 | 
			
		||||
  cri.reset();
 | 
			
		||||
  cri.setDuration(10);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue