From e2600b0476761b7d87bf5dd7d328edb094059a0e Mon Sep 17 00:00:00 2001 From: Sebastian Wilhelmi Date: Tue, 19 Sep 2000 14:30:35 +0000 Subject: [PATCH] Test for the existence of getcwd, and use it only when found. 2000-09-19 Sebastian Wilhelmi * acconfig.h, configure.in, gutils.c: Test for the existence of getcwd, and use it only when found. * glib.h: Only use the gcc-variable-macro-argument-extension for gcc >= 2.4. Both patches from Jonas Oberg . --- ChangeLog | 8 ++++++++ ChangeLog.pre-2-0 | 8 ++++++++ ChangeLog.pre-2-10 | 8 ++++++++ ChangeLog.pre-2-12 | 8 ++++++++ ChangeLog.pre-2-2 | 8 ++++++++ ChangeLog.pre-2-4 | 8 ++++++++ ChangeLog.pre-2-6 | 8 ++++++++ ChangeLog.pre-2-8 | 8 ++++++++ acconfig.h | 1 + configure.in | 2 +- glib.h | 2 +- glib/glib.h | 2 +- glib/gutils.c | 6 +++--- gutils.c | 6 +++--- 14 files changed, 74 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index e567127..3bff784 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2000-09-19 Sebastian Wilhelmi + + * acconfig.h, configure.in, gutils.c: Test for the existence of + getcwd, and use it only when found. + + * glib.h: Only use the gcc-variable-macro-argument-extension for + gcc >= 2.4. Both patches from Jonas Oberg . + Mon Sep 18 10:58:21 2000 Owen Taylor * gutf8.c: Implement g_ucs4_to_utf8 which was in diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index e567127..3bff784 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,11 @@ +2000-09-19 Sebastian Wilhelmi + + * acconfig.h, configure.in, gutils.c: Test for the existence of + getcwd, and use it only when found. + + * glib.h: Only use the gcc-variable-macro-argument-extension for + gcc >= 2.4. Both patches from Jonas Oberg . + Mon Sep 18 10:58:21 2000 Owen Taylor * gutf8.c: Implement g_ucs4_to_utf8 which was in diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index e567127..3bff784 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +2000-09-19 Sebastian Wilhelmi + + * acconfig.h, configure.in, gutils.c: Test for the existence of + getcwd, and use it only when found. + + * glib.h: Only use the gcc-variable-macro-argument-extension for + gcc >= 2.4. Both patches from Jonas Oberg . + Mon Sep 18 10:58:21 2000 Owen Taylor * gutf8.c: Implement g_ucs4_to_utf8 which was in diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index e567127..3bff784 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,11 @@ +2000-09-19 Sebastian Wilhelmi + + * acconfig.h, configure.in, gutils.c: Test for the existence of + getcwd, and use it only when found. + + * glib.h: Only use the gcc-variable-macro-argument-extension for + gcc >= 2.4. Both patches from Jonas Oberg . + Mon Sep 18 10:58:21 2000 Owen Taylor * gutf8.c: Implement g_ucs4_to_utf8 which was in diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index e567127..3bff784 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +2000-09-19 Sebastian Wilhelmi + + * acconfig.h, configure.in, gutils.c: Test for the existence of + getcwd, and use it only when found. + + * glib.h: Only use the gcc-variable-macro-argument-extension for + gcc >= 2.4. Both patches from Jonas Oberg . + Mon Sep 18 10:58:21 2000 Owen Taylor * gutf8.c: Implement g_ucs4_to_utf8 which was in diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index e567127..3bff784 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +2000-09-19 Sebastian Wilhelmi + + * acconfig.h, configure.in, gutils.c: Test for the existence of + getcwd, and use it only when found. + + * glib.h: Only use the gcc-variable-macro-argument-extension for + gcc >= 2.4. Both patches from Jonas Oberg . + Mon Sep 18 10:58:21 2000 Owen Taylor * gutf8.c: Implement g_ucs4_to_utf8 which was in diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index e567127..3bff784 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +2000-09-19 Sebastian Wilhelmi + + * acconfig.h, configure.in, gutils.c: Test for the existence of + getcwd, and use it only when found. + + * glib.h: Only use the gcc-variable-macro-argument-extension for + gcc >= 2.4. Both patches from Jonas Oberg . + Mon Sep 18 10:58:21 2000 Owen Taylor * gutf8.c: Implement g_ucs4_to_utf8 which was in diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index e567127..3bff784 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +2000-09-19 Sebastian Wilhelmi + + * acconfig.h, configure.in, gutils.c: Test for the existence of + getcwd, and use it only when found. + + * glib.h: Only use the gcc-variable-macro-argument-extension for + gcc >= 2.4. Both patches from Jonas Oberg . + Mon Sep 18 10:58:21 2000 Owen Taylor * gutf8.c: Implement g_ucs4_to_utf8 which was in diff --git a/acconfig.h b/acconfig.h index 4c2a1be..f73f375 100644 --- a/acconfig.h +++ b/acconfig.h @@ -57,6 +57,7 @@ #undef HAVE_CODESET #undef HAVE_DOPRNT #undef HAVE_FLOAT_H +#undef HAVE_GETCWD #undef HAVE_GETPWUID_R #undef HAVE_GETPWUID_R_POSIX #undef HAVE_LIMITS_H diff --git a/configure.in b/configure.in index 4bda540..6c3f314 100644 --- a/configure.in +++ b/configure.in @@ -357,7 +357,7 @@ GLIB_SIZEOF([$size_includes], ptrdiff_t, ptrdiff_t) GLIB_SIZEOF([$size_includes], intmax_t, intmax_t) # Check for some functions -AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf strcasecmp strncasecmp poll) +AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf strcasecmp strncasecmp poll getcwd) # Check if bcopy can be used for overlapping copies, if memmove isn't found. # The check is borrowed from the PERL Configure script. diff --git a/glib.h b/glib.h index d861013..f74ad78 100644 --- a/glib.h +++ b/glib.h @@ -1508,7 +1508,7 @@ GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask); #define g_warning(...) g_log (G_LOG_DOMAIN, \ G_LOG_LEVEL_WARNING, \ __VA_ARGS__) -#elif defined (__GNUC__) +#elif __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 4) #define g_error(format...) g_log (G_LOG_DOMAIN, \ G_LOG_LEVEL_ERROR, \ format) diff --git a/glib/glib.h b/glib/glib.h index d861013..f74ad78 100644 --- a/glib/glib.h +++ b/glib/glib.h @@ -1508,7 +1508,7 @@ GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask); #define g_warning(...) g_log (G_LOG_DOMAIN, \ G_LOG_LEVEL_WARNING, \ __VA_ARGS__) -#elif defined (__GNUC__) +#elif __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 4) #define g_error(format...) g_log (G_LOG_DOMAIN, \ G_LOG_LEVEL_ERROR, \ format) diff --git a/glib/gutils.c b/glib/gutils.c index 1f45d0e..1f3c3a3 100644 --- a/glib/gutils.c +++ b/glib/gutils.c @@ -430,11 +430,11 @@ g_get_current_dir (void) /* We don't use getcwd(3) on SUNOS, because, it does a popen("pwd") * and, if that wasn't bad enough, hangs in doing so. */ -#if defined (sun) && !defined (__SVR4) +#if (defined (sun) && !defined (__SVR4)) || !defined(HAVE_GETCWD) buffer = g_new (gchar, max_len + 1); *buffer = 0; dir = getwd (buffer); -#else /* !sun */ +#else /* !sun || !HAVE_GETCWD */ while (max_len < G_MAXULONG / 2) { buffer = g_new (gchar, max_len + 1); @@ -447,7 +447,7 @@ g_get_current_dir (void) g_free (buffer); max_len *= 2; } -#endif /* !sun */ +#endif /* !sun || !HAVE_GETCWD */ if (!dir || !*buffer) { diff --git a/gutils.c b/gutils.c index 1f45d0e..1f3c3a3 100644 --- a/gutils.c +++ b/gutils.c @@ -430,11 +430,11 @@ g_get_current_dir (void) /* We don't use getcwd(3) on SUNOS, because, it does a popen("pwd") * and, if that wasn't bad enough, hangs in doing so. */ -#if defined (sun) && !defined (__SVR4) +#if (defined (sun) && !defined (__SVR4)) || !defined(HAVE_GETCWD) buffer = g_new (gchar, max_len + 1); *buffer = 0; dir = getwd (buffer); -#else /* !sun */ +#else /* !sun || !HAVE_GETCWD */ while (max_len < G_MAXULONG / 2) { buffer = g_new (gchar, max_len + 1); @@ -447,7 +447,7 @@ g_get_current_dir (void) g_free (buffer); max_len *= 2; } -#endif /* !sun */ +#endif /* !sun || !HAVE_GETCWD */ if (!dir || !*buffer) { -- 2.7.4