aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/xkb/ddxLoad.c
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-13 09:49:52 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-13 09:49:52 +0100
commit4dc1bd0043aed6b92526cbda26991be1f611a121 (patch)
tree5b299dac19a8e21f212365cf2154de0027fd308f /nx-X11/programs/Xserver/xkb/ddxLoad.c
parenta43c49594ca0c894cdc460f6b5c538122b6c224d (diff)
downloadnx-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.c32
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;
}