diff options
-rw-r--r-- | app/xkbcomp/ChangeLog | 27 | ||||
-rw-r--r-- | app/xkbcomp/configure | 20 | ||||
-rw-r--r-- | app/xkbcomp/configure.ac | 2 | ||||
-rw-r--r-- | app/xkbcomp/xkbcomp.c | 11 | ||||
-rw-r--r-- | app/xkbcomp/xkbpath.c | 12 |
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) { |