summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/xkbcomp/ChangeLog27
-rw-r--r--app/xkbcomp/configure20
-rw-r--r--app/xkbcomp/configure.ac2
-rw-r--r--app/xkbcomp/xkbcomp.c11
-rw-r--r--app/xkbcomp/xkbpath.c12
5 files changed, 49 insertions, 23 deletions
diff --git a/app/xkbcomp/ChangeLog b/app/xkbcomp/ChangeLog
index 2e3b42240..6bc06a804 100644
--- a/app/xkbcomp/ChangeLog
+++ b/app/xkbcomp/ChangeLog
@@ -1,3 +1,30 @@
+commit 1aecdffaa0db7bbf85bc0aae9043e9437b25c30d
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Apr 17 00:52:29 2008 +0300
+
+ Don't scan paths which make NO SENSE WHATSOEVER TO SCAN
+
+ Hey, I wonder if we have XKB files in our directory! I wonder if we
+ haven't bothered with a structure, and let's try to open a file called
+ 'misc' in someone's home directory! What a surprise, it's not a valid
+ XKB file! Let's fail miserably!
+
+ SURPRISINGLY, THIS IS NOT USEFUL BEHAVIOUR.
+
+commit a3a05fd489a9a35942a4419c537634e796dbebd1
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Apr 17 00:50:07 2008 +0300
+
+ xkbcomp: Take a device ID argument
+
+ Allows the user to set maps (or whatever) on arbitrary devices.
+
+commit be084fbeba28312fc5102e98d64726464032c3e8
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Mar 6 17:13:42 2008 -0500
+
+ xkbcomp 1.0.4
+
commit c1cc023fc50ce3a4a23f4682ebefd2301fd13170
Author: Adam Jackson <ajax@redhat.com>
Date: Fri Feb 29 15:30:34 2008 -0500
diff --git a/app/xkbcomp/configure b/app/xkbcomp/configure
index 9a84d3cf1..28bd093e0 100644
--- a/app/xkbcomp/configure
+++ b/app/xkbcomp/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for xkbcomp 1.0.4.
+# Generated by GNU Autoconf 2.59 for xkbcomp 1.0.5.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='xkbcomp'
PACKAGE_TARNAME='xkbcomp'
-PACKAGE_VERSION='1.0.4'
-PACKAGE_STRING='xkbcomp 1.0.4'
+PACKAGE_VERSION='1.0.5'
+PACKAGE_STRING='xkbcomp 1.0.5'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE YACC PKG_CONFIG ac_pt_PKG_CONFIG XKBCOMP_CFLAGS XKBCOMP_LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os APP_MAN_SUFFIX LIB_MAN_SUFFIX FILE_MAN_SUFFIX MISC_MAN_SUFFIX DRIVER_MAN_SUFFIX ADMIN_MAN_SUFFIX APP_MAN_DIR LIB_MAN_DIR FILE_MAN_DIR MISC_MAN_DIR DRIVER_MAN_DIR ADMIN_MAN_DIR LIBOBJS LTLIBOBJS'
@@ -750,7 +750,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xkbcomp 1.0.4 to adapt to many kinds of systems.
+\`configure' configures xkbcomp 1.0.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -816,7 +816,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xkbcomp 1.0.4:";;
+ short | recursive ) echo "Configuration of xkbcomp 1.0.5:";;
esac
cat <<\_ACEOF
@@ -946,7 +946,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-xkbcomp configure 1.0.4
+xkbcomp configure 1.0.5
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -960,7 +960,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xkbcomp $as_me 1.0.4, which was
+It was created by xkbcomp $as_me 1.0.5, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1558,7 +1558,7 @@ fi
# Define the identity of the package.
PACKAGE='xkbcomp'
- VERSION='1.0.4'
+ VERSION='1.0.5'
cat >>confdefs.h <<_ACEOF
@@ -3710,7 +3710,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
-This file was extended by xkbcomp $as_me 1.0.4, which was
+This file was extended by xkbcomp $as_me 1.0.5, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3773,7 +3773,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-xkbcomp config.status 1.0.4
+xkbcomp config.status 1.0.5
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/app/xkbcomp/configure.ac b/app/xkbcomp/configure.ac
index 8f594fa3c..2f3468fbb 100644
--- a/app/xkbcomp/configure.ac
+++ b/app/xkbcomp/configure.ac
@@ -21,7 +21,7 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.57])
-AC_INIT(xkbcomp,[1.0.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xkbcomp)
+AC_INIT(xkbcomp,[1.0.5], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xkbcomp)
AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE
diff --git a/app/xkbcomp/xkbcomp.c b/app/xkbcomp/xkbcomp.c
index c55994bce..111a7b371 100644
--- a/app/xkbcomp/xkbcomp.c
+++ b/app/xkbcomp/xkbcomp.c
@@ -104,6 +104,7 @@ static Bool xkblist= False;
static char * preErrorMsg= NULL;
static char * postErrorMsg= NULL;
static char * errorPrefix= NULL;
+static unsigned int device_id = XkbUseCoreKbd;
/***====================================================================***/
@@ -140,6 +141,7 @@ Usage(int argc,char *argv[])
M(" R: recursively list subdirectories\n");
M(" default is all options off\n");
}
+ M("-i <deviceid> Specifies device ID (not name) to compile for\n");
M("-m[ap] <map> Specifies map to compile\n");
M("-o <file> Specifies output file name\n");
if (!xkblist) {
@@ -301,6 +303,13 @@ register int i,tmp;
exit(1);
}
}
+ else if ((strncmp(argv[i], "-i", 2) == 0) && (!xkblist)) {
+ if (++i >= argc) {
+ if (warningLevel > 0)
+ WARN("No device ID specified\n");
+ }
+ device_id = atoi(argv[i]);
+ }
else if ((strncmp(argv[i],"-l",2)==0)&&(!xkblist)) {
if (outputFormat!=WANT_DEFAULT) {
if (warningLevel>0) {
@@ -846,7 +855,7 @@ Status status;
else if (inDpy!=NULL) {
bzero((char *)&result,sizeof(result));
result.type= XkmKeymapFile;
- result.xkb= XkbGetMap(inDpy,XkbAllMapComponentsMask,XkbUseCoreKbd);
+ result.xkb= XkbGetMap(inDpy,XkbAllMapComponentsMask,device_id);
if (result.xkb==NULL)
WSGO("Cannot load keyboard description\n");
if (XkbGetIndicatorMap(inDpy,~0,result.xkb)!=Success)
diff --git a/app/xkbcomp/xkbpath.c b/app/xkbcomp/xkbpath.c
index 0e1beab04..0a7329c8e 100644
--- a/app/xkbcomp/xkbpath.c
+++ b/app/xkbcomp/xkbpath.c
@@ -133,7 +133,6 @@ XkbAddDefaultDirectoriesToPath(void)
{
if (noDefaultPath)
return;
- XkbAddDirectoryToPath(".");
XkbAddDirectoryToPath(DFLT_XKB_CONFIG_ROOT);
}
@@ -298,16 +297,7 @@ char buf[PATH_MAX],*typeDir;
typeLen= strlen(typeDir);
for (i=0;i<nPathEntries;i++) {
pathLen= strlen(includePath[i]);
- if ((nameLen+pathLen+1)>=PATH_MAX) {
- ERROR2("File name (%s/%s) too long\n",includePath[i],name);
- ACTION("Ignored\n");
- continue;
- }
- sprintf(buf,"%s/%s",includePath[i],name);
- file= fopen(buf,"r");
- if (file!=NULL)
- break;
- else if (typeLen<1)
+ if (typeLen<1)
continue;
if ((nameLen+typeLen+pathLen+2)>=PATH_MAX) {