Skip to content

Instantly share code, notes, and snippets.

@mistydemeo
Created February 11, 2014 17:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mistydemeo/8939839 to your computer and use it in GitHub Desktop.
Save mistydemeo/8939839 to your computer and use it in GitHub Desktop.
diff --git a/autom4te.cache/requests b/autom4te.cache/requests
index e906071..12f56d3 100644
--- a/autom4te.cache/requests
+++ b/autom4te.cache/requests
@@ -1,4 +1,4 @@
-# This file was generated by Autom4te Wed Aug 21 09:31:00 UTC 2013.
+# This file was generated.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@@ -55,8 +55,8 @@
'_m4_warn' => 1,
'AC_LIBTOOL_OBJDIR' => 1,
'gl_FUNC_ARGZ' => 1,
- 'AM_SANITY_CHECK' => 1,
'LTOBSOLETE_VERSION' => 1,
+ 'AM_SANITY_CHECK' => 1,
'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
'LT_LIB_M' => 1,
@@ -73,17 +73,17 @@
'_LT_AC_LANG_F77' => 1,
'AC_LIBTOOL_CONFIG' => 1,
'AC_CONFIG_MACRO_DIR' => 1,
- 'AC_LTDL_DLLIB' => 1,
'_AM_SUBST_NOTMAKE' => 1,
+ 'AC_LTDL_DLLIB' => 1,
'_AM_AUTOCONF_VERSION' => 1,
'AM_DISABLE_SHARED' => 1,
'_LT_PROG_ECHO_BACKSLASH' => 1,
'_LTDL_SETUP' => 1,
- 'AM_PROG_LIBTOOL' => 1,
'_LT_AC_LANG_CXX' => 1,
- 'AM_PROG_LD' => 1,
- '_LT_AC_FILE_LTDLL_C' => 1,
+ 'AM_PROG_LIBTOOL' => 1,
'AC_LIB_LTDL' => 1,
+ '_LT_AC_FILE_LTDLL_C' => 1,
+ 'AM_PROG_LD' => 1,
'AU_DEFUN' => 1,
'AC_PROG_NM' => 1,
'AC_LIBTOOL_DLOPEN' => 1,
@@ -108,33 +108,33 @@
'AC_LTDL_OBJDIR' => 1,
'_LT_PATH_TOOL_PREFIX' => 1,
'AC_LIBTOOL_RC' => 1,
- '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
- 'AC_DISABLE_FAST_INSTALL' => 1,
'AM_SILENT_RULES' => 1,
- 'include' => 1,
- '_LT_AC_TRY_DLOPEN_SELF' => 1,
+ 'AC_DISABLE_FAST_INSTALL' => 1,
+ '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
'_LT_AC_SYS_LIBPATH_AIX' => 1,
+ '_LT_AC_TRY_DLOPEN_SELF' => 1,
+ 'include' => 1,
'LT_AC_PROG_SED' => 1,
'AM_ENABLE_SHARED' => 1,
'LTDL_INSTALLABLE' => 1,
'_LT_AC_LANG_GCJ_CONFIG' => 1,
'AC_ENABLE_SHARED' => 1,
- '_LT_REQUIRED_DARWIN_CHECKS' => 1,
- 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
'AC_ENABLE_STATIC' => 1,
+ 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
+ '_LT_REQUIRED_DARWIN_CHECKS' => 1,
'_LT_AC_TAGVAR' => 1,
'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
'AM_CONDITIONAL' => 1,
'LT_LIB_DLLOAD' => 1,
- 'LTVERSION_VERSION' => 1,
- '_LT_PROG_CXX' => 1,
- '_LT_PROG_F77' => 1,
'LTDL_INIT' => 1,
- 'm4_include' => 1,
+ '_LT_PROG_F77' => 1,
+ '_LT_PROG_CXX' => 1,
+ 'LTVERSION_VERSION' => 1,
'AM_PROG_INSTALL_SH' => 1,
+ 'm4_include' => 1,
'AC_PROG_EGREP' => 1,
- 'AC_PATH_MAGIC' => 1,
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
+ 'AC_PATH_MAGIC' => 1,
'AC_LTDL_SYSSEARCHPATH' => 1,
'AM_MAKE_INCLUDE' => 1,
'LT_CMD_MAX_LEN' => 1,
@@ -169,11 +169,11 @@
'_AC_PROG_LIBTOOL' => 1,
'_AM_IF_OPTION' => 1,
'AC_PATH_TOOL_PREFIX' => 1,
- 'm4_pattern_allow' => 1,
'AC_LIBTOOL_F77' => 1,
+ 'm4_pattern_allow' => 1,
'AM_SET_LEADING_DOT' => 1,
- '_LT_PROG_FC' => 1,
'LT_AC_PROG_EGREP' => 1,
+ '_LT_PROG_FC' => 1,
'_AM_DEPENDENCIES' => 1,
'AC_LIBTOOL_LANG_C_CONFIG' => 1,
'LTOPTIONS_VERSION' => 1,
@@ -181,11 +181,11 @@
'AM_PROG_NM' => 1,
'AC_LIBLTDL_CONVENIENCE' => 1,
'AC_DEPLIBS_CHECK_METHOD' => 1,
- 'AC_LIBLTDL_INSTALLABLE' => 1,
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
+ 'AC_LIBLTDL_INSTALLABLE' => 1,
'AC_LTDL_ENABLE_INSTALL' => 1,
- 'LT_PROG_GCJ' => 1,
'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
+ 'LT_PROG_GCJ' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_DISABLE_STATIC' => 1,
'LT_PATH_NM' => 1,
@@ -194,26 +194,26 @@
'_LT_AC_LANG_RC_CONFIG' => 1,
'LT_PROG_GO' => 1,
'LT_SYS_MODULE_PATH' => 1,
- 'LT_WITH_LTDL' => 1,
'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
+ 'LT_WITH_LTDL' => 1,
'AC_LTDL_SHLIBPATH' => 1,
'AM_AUX_DIR_EXPAND' => 1,
- 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
'_LT_AC_LANG_F77_CONFIG' => 1,
- '_LT_COMPILER_OPTION' => 1,
+ 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
'_AM_SET_OPTIONS' => 1,
- 'AM_RUN_LOG' => 1,
+ '_LT_COMPILER_OPTION' => 1,
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'AC_LIBTOOL_PICMODE' => 1,
- 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
+ 'AM_RUN_LOG' => 1,
'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
- 'AC_CHECK_LIBM' => 1,
+ 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
+ 'AC_LIBTOOL_PICMODE' => 1,
'LT_PATH_LD' => 1,
+ 'AC_CHECK_LIBM' => 1,
'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
'_AM_MANGLE_OPTION' => 1,
- 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
- 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
'AC_LTDL_SYMBOL_USCORE' => 1,
+ 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
+ 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
'AM_SET_DEPDIR' => 1,
'_LT_CC_BASENAME' => 1,
'_LT_LIBOBJ' => 1
@@ -231,59 +231,130 @@
'configure.ac'
],
{
- 'AM_PROG_F77_C_O' => 1,
'_LT_AC_TAGCONFIG' => 1,
- 'AC_INIT' => 1,
+ 'AM_PROG_F77_C_O' => 1,
'm4_pattern_forbid' => 1,
- 'AC_CANONICAL_TARGET' => 1,
+ 'AC_INIT' => 1,
'_AM_COND_IF' => 1,
- 'AC_CONFIG_LIBOBJ_DIR' => 1,
+ 'AC_CANONICAL_TARGET' => 1,
'AC_SUBST' => 1,
+ 'AC_CONFIG_LIBOBJ_DIR' => 1,
'AM_EXTRA_RECURSIVE_TARGETS' => 1,
- 'AC_CANONICAL_HOST' => 1,
'AC_FC_SRCEXT' => 1,
+ 'AC_CANONICAL_HOST' => 1,
'AC_PROG_LIBTOOL' => 1,
'AM_PROG_MKDIR_P' => 1,
'AM_INIT_AUTOMAKE' => 1,
- 'AC_CONFIG_SUBDIRS' => 1,
'AM_PATH_GUILE' => 1,
+ 'AC_CONFIG_SUBDIRS' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
- 'AC_CONFIG_LINKS' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
- 'LT_SUPPORTED_TAG' => 1,
+ 'AC_CONFIG_LINKS' => 1,
'm4_sinclude' => 1,
+ 'LT_SUPPORTED_TAG' => 1,
'AM_MAINTAINER_MODE' => 1,
'AM_NLS' => 1,
'AC_FC_PP_DEFINE' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
- '_m4_warn' => 1,
'AM_MAKEFILE_INCLUDE' => 1,
+ '_m4_warn' => 1,
'AM_PROG_CXX_C_O' => 1,
+ '_AM_COND_ENDIF' => 1,
'_AM_MAKEFILE_INCLUDE' => 1,
+ 'AM_ENABLE_MULTILIB' => 1,
+ 'AM_PROG_MOC' => 1,
+ 'AM_SILENT_RULES' => 1,
+ 'AC_CONFIG_FILES' => 1,
+ 'LT_INIT' => 1,
+ 'include' => 1,
+ 'AM_PROG_AR' => 1,
+ 'AM_GNU_GETTEXT' => 1,
+ 'AC_LIBSOURCE' => 1,
+ 'AM_PROG_FC_C_O' => 1,
+ 'AC_CANONICAL_BUILD' => 1,
+ 'AC_FC_FREEFORM' => 1,
+ 'AH_OUTPUT' => 1,
+ 'AC_FC_PP_SRCEXT' => 1,
+ '_AM_SUBST_NOTMAKE' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
+ 'sinclude' => 1,
+ 'AM_PROG_CC_C_O' => 1,
+ 'm4_pattern_allow' => 1,
+ 'AM_XGETTEXT_OPTION' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AM_CONDITIONAL' => 1,
+ 'AC_CONFIG_HEADERS' => 1,
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
+ 'AM_POT_TOOLS' => 1,
+ 'm4_include' => 1,
+ '_AM_COND_ELSE' => 1,
+ 'AC_SUBST_TRACE' => 1
+ }
+ ], 'Autom4te::Request' ),
+ bless( [
+ '2',
+ 1,
+ [
+ '/usr/local/Cellar/autoconf/2.69/share/autoconf'
+ ],
+ [
+ '/usr/local/Cellar/autoconf/2.69/share/autoconf/autoconf/autoconf.m4f',
+ 'aclocal.m4',
+ 'configure.ac'
+ ],
+ {
+ '_LT_AC_TAGCONFIG' => 1,
+ 'AM_PROG_F77_C_O' => 1,
+ 'AC_INIT' => 1,
+ 'm4_pattern_forbid' => 1,
+ '_AM_COND_IF' => 1,
+ 'AC_CANONICAL_TARGET' => 1,
+ 'AC_SUBST' => 1,
+ 'AC_CONFIG_LIBOBJ_DIR' => 1,
+ 'AC_FC_SRCEXT' => 1,
+ 'AC_CANONICAL_HOST' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'AM_PATH_GUILE' => 1,
+ 'AC_CONFIG_SUBDIRS' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
+ 'LT_CONFIG_LTDL_DIR' => 1,
+ 'AC_REQUIRE_AUX_FILE' => 1,
+ 'AC_CONFIG_LINKS' => 1,
+ 'm4_sinclude' => 1,
+ 'LT_SUPPORTED_TAG' => 1,
+ 'AM_MAINTAINER_MODE' => 1,
+ 'AM_NLS' => 1,
+ 'AC_FC_PP_DEFINE' => 1,
+ 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
+ 'AM_MAKEFILE_INCLUDE' => 1,
+ '_m4_warn' => 1,
+ 'AM_PROG_CXX_C_O' => 1,
'_AM_COND_ENDIF' => 1,
+ '_AM_MAKEFILE_INCLUDE' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AM_SILENT_RULES' => 1,
'AM_PROG_MOC' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'LT_INIT' => 1,
- 'AM_GNU_GETTEXT' => 1,
'AM_PROG_AR' => 1,
+ 'AM_GNU_GETTEXT' => 1,
'AC_LIBSOURCE' => 1,
- 'AC_CANONICAL_BUILD' => 1,
'AM_PROG_FC_C_O' => 1,
+ 'AC_CANONICAL_BUILD' => 1,
'AC_FC_FREEFORM' => 1,
- 'AC_FC_PP_SRCEXT' => 1,
'AH_OUTPUT' => 1,
- 'AC_CONFIG_AUX_DIR' => 1,
+ 'AC_FC_PP_SRCEXT' => 1,
'_AM_SUBST_NOTMAKE' => 1,
- 'm4_pattern_allow' => 1,
- 'AM_PROG_CC_C_O' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
'sinclude' => 1,
- 'AM_CONDITIONAL' => 1,
- 'AC_CANONICAL_SYSTEM' => 1,
+ 'AM_PROG_CC_C_O' => 1,
+ 'm4_pattern_allow' => 1,
'AM_XGETTEXT_OPTION' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AM_CONDITIONAL' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AM_POT_TOOLS' => 1,
diff --git a/bin/geoipupdate.c b/bin/geoipupdate.c
index f75e602..477e995 100644
--- a/bin/geoipupdate.c
+++ b/bin/geoipupdate.c
@@ -162,7 +162,21 @@ int main(int argc, char *const argv[])
curl_global_cleanup();
return 0;
}
-
+static ssize_t
+my_getline(char ** linep, size_t * linecapp,
+ FILE * stream)
+{
+#if defined HAVE_GETLINE
+ return getline(linep, linecapp, stream);
+#elif defined HAVE_FGETS
+ // Unbelivable, but OS X 10.6 Snow Leopard did not
+ // provide getline
+ char * p = fgets(*linep, *linecapp, stream);
+ return p == NULL ? -1 : strlen(p);
+#else
+#error Your OS is not supported
+#endif
+}
int parse_license_file(geoipupdate_s * up)
{
FILE *fh = fopen(up->license_file, "r");
@@ -173,7 +187,7 @@ int parse_license_file(geoipupdate_s * up)
size_t bsize = 1024;
char *buffer = (char *)xmalloc(bsize);
ssize_t read_bytes;
- while ((read_bytes = getline(&buffer, &bsize, fh)) != -1) {
+ while ((read_bytes = my_getline(&buffer, &bsize, fh)) != -1) {
size_t idx = strspn(buffer, sep);
char *strt = &buffer[idx];
if (*strt == '#') {
@@ -465,7 +479,7 @@ static void gunzip_and_replace(geoipupdate_s * gu, const char *gzipfile,
exit_unless(fh != NULL, "Can't open %s\n", gzipfile);
size_t bsize = 8096;
char *buffer = (char *)xmalloc(bsize);
- ssize_t read_bytes = getline(&buffer, &bsize, fh);
+ ssize_t read_bytes = my_getline(&buffer, &bsize, fh);
fclose(fh);
exit_unless(read_bytes >= 0, "Read error %s\n", gzipfile);
const char *no_new_upd = "No new updates available";
diff --git a/configure b/configure
index 230d49d..2d17764 100755
--- a/configure
+++ b/configure
@@ -12120,7 +12120,7 @@ else
fi
-for ac_func in asprintf strcasecmp memset socket strchr strdup strstr strrchr memchr strspn
+for ac_func in getline fgets asprintf strcasecmp memset socket strchr strdup strstr strrchr memchr strspn
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/configure.ac b/configure.ac
index 7f9720a..fc9ae33 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,7 +30,7 @@ AC_CHECK_HEADERS(curl/curl.h, , AC_MSG_ERROR(curl header (curl/curl.h) not found
AC_CHECK_LIB(z, gzopen, [], [AC_MSG_ERROR([libz not found.])])
AC_CHECK_LIB(curl, curl_easy_setopt, [], [AC_MSG_ERROR([libcurl not found.])])
-AC_CHECK_FUNCS([ asprintf strcasecmp memset socket strchr strdup strstr strrchr memchr strspn])
+AC_CHECK_FUNCS([ getline fgets asprintf strcasecmp memset socket strchr strdup strstr strrchr memchr strspn])
AC_HEADER_STDBOOL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment