diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2015-02-13 09:49:52 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2015-02-13 09:49:52 +0100 |
commit | 4dc1bd0043aed6b92526cbda26991be1f611a121 (patch) | |
tree | 5b299dac19a8e21f212365cf2154de0027fd308f /nx-X11/programs/Xserver/xkb/ddxLoad.c | |
parent | a43c49594ca0c894cdc460f6b5c538122b6c224d (diff) | |
download | nx-libs-4dc1bd0043aed6b92526cbda26991be1f611a121.tar.gz nx-libs-4dc1bd0043aed6b92526cbda26991be1f611a121.tar.bz2 nx-libs-4dc1bd0043aed6b92526cbda26991be1f611a121.zip |
Test for xkb/rules/base instead of xkb/keymap.dir for setting XkbBaseDir (302_nx-X11_xkbbasedir-detection.full.patch).
In recent (as of 2014/06) X.org release, the keymap.dir file
has become obsolete. Let's test for the xkb/rules/base file
instead.
Diffstat (limited to 'nx-X11/programs/Xserver/xkb/ddxLoad.c')
-rw-r--r-- | nx-X11/programs/Xserver/xkb/ddxLoad.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/nx-X11/programs/Xserver/xkb/ddxLoad.c b/nx-X11/programs/Xserver/xkb/ddxLoad.c index e69d95670..0b779b719 100644 --- a/nx-X11/programs/Xserver/xkb/ddxLoad.c +++ b/nx-X11/programs/Xserver/xkb/ddxLoad.c @@ -180,7 +180,7 @@ Win32System(const char *cmdline) #define NX_XKB_BASE_DIRECTORY "/usr/lib/X11/xkb" #define NX_XKB_ALTERNATE_BASE_DIRECTORY "/usr/share/X11/xkb" -#define NX_KEYMAP_DIR_FILE "keymap.dir" +#define NX_XKB_RULES_BASE_FILE "rules/base" #define NX_ALT_XKBCOMP_PATH "/usr/bin" static char _NXXkbBasePath[PATH_MAX]; @@ -189,43 +189,43 @@ static char _NXXkbCompPath[PATH_MAX]; static int NXVerifyXkbBaseDirectory(const char *dirPath) { int size; - char *keymapDirFilePath; - struct stat keymapDirFileStat; + char *rulesBaseFilePath; + struct stat rulesBaseFileStat; /* - * If keymap.dir file - * is not present into - * Xkb Base Directory, + * If rules/base file + * is not present inside + * the Xkb Base Directory, * we suppose that the * path is not valid. */ size = strlen(dirPath) + strlen("/") + - strlen(NX_KEYMAP_DIR_FILE) + 1; + strlen(NX_XKB_RULES_BASE_FILE) + 1; - if ((keymapDirFilePath = malloc((size + 1) * sizeof(char))) == NULL) + if ((rulesBaseFilePath = malloc((size + 1) * sizeof(char))) == NULL) { FatalError("NXVerifyXkbBaseDirectory: malloc failed.\n"); } - strcpy(keymapDirFilePath, dirPath); - strcat(keymapDirFilePath, "/"); - strcat(keymapDirFilePath, NX_KEYMAP_DIR_FILE); + strcpy(rulesBaseFilePath, dirPath); + strcat(rulesBaseFilePath, "/"); + strcat(rulesBaseFilePath, NX_XKB_RULES_BASE_FILE); #ifdef TEST fprintf(stderr, "NXVerifyXkbBaseDirectory: Looking for [%s] file.\n", - keymapDirFilePath); + rulesBaseFilePath); #endif - if (stat(keymapDirFilePath, &keymapDirFileStat) != 0) + if (stat(rulesBaseFilePath, &rulesBaseFileStat) != 0) { #ifdef TEST fprintf(stderr, "NXVerifyXkbBaseDirectory: Can't find the keymap.dir file [%s].\n", - keymapDirFilePath); + rulesBaseFilePath); #endif - free(keymapDirFilePath); + free(rulesBaseFilePath); return 0; } @@ -235,7 +235,7 @@ static int NXVerifyXkbBaseDirectory(const char *dirPath) dirPath); #endif - free(keymapDirFilePath); + free(rulesBaseFilePath); return 1; } |