xserver: Branch 'master'
Alan Coopersmith
alanc at kemper.freedesktop.org
Mon May 12 18:50:30 PDT 2008
config/hal.c | 13 +++++++++++++
configure.ac | 2 +-
include/dix-config.h.in | 3 +++
3 files changed, 17 insertions(+), 1 deletion(-)
New commits:
commit ed65e8b4f02a6da7f1c5d85984a9ccf6a94d0181
Author: Alan Coopersmith <alan.coopersmith at sun.com>
Date: Mon May 12 18:49:34 2008 -0700
Check for strcasestr and workaround it on systems without it
diff --git a/config/hal.c b/config/hal.c
index 67ffa03..e197cb1 100644
--- a/config/hal.c
+++ b/config/hal.c
@@ -260,7 +260,17 @@ device_added(LibHalContext *hal_ctx, const char *udi)
* Since we can't predict the order in which the keys
* arrive, we need to store them.
*/
+#ifndef HAVE_STRCASESTR
+ int psi_key_len = strlen(psi_key);
+ char *lower_psi_key = xalloc(psi_key_len + 1);
+
+ CopyISOLatin1Lowered((unsigned char *) lower_psi_key,
+ (unsigned char *) psi_key,
+ psi_key_len);
+ if ((tmp = strstr(lower_psi_key, "xkb")))
+#else
if ((tmp = strcasestr(psi_key, "xkb")))
+#endif
{
if (!strcasecmp(&tmp[3], "layout"))
{
@@ -289,6 +299,9 @@ device_added(LibHalContext *hal_ctx, const char *udi)
add_option(&options, psi_key + sizeof(LIBHAL_PROP_KEY)-1, tmp_val);
xfree(tmp_val);
}
+#ifndef HAVE_STRCASESTR
+ xfree(lower_psi_key);
+#endif
}
} else if (!strncasecmp(psi_key, LIBHAL_XKB_PROP_KEY, sizeof(LIBHAL_XKB_PROP_KEY)-1)){
diff --git a/configure.ac b/configure.ac
index d78f122..8716ba5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -191,7 +191,7 @@ dnl Checks for library functions.
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr \
strtol getopt getopt_long vsnprintf walkcontext backtrace \
- getisax getzoneid shmctl64])
+ getisax getzoneid shmctl64 strcasestr])
AC_FUNC_ALLOCA
dnl Old HAS_* names used in os/*.c.
AC_CHECK_FUNC([getdtablesize],
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 387f65a..914ce49 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -205,6 +205,9 @@
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
+/* Define to 1 if you have the `strcasestr' function. */
+#undef HAVE_STRCASESTR
+
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
More information about the xorg-commit
mailing list