[Pkg-kbd-devel] Bug#709373: kbd: loadkeys -d no longer works

Alan Curry rlwinm at sdf.org
Wed May 22 20:05:29 UTC 2013


Package: kbd
Version: 1.15.3-9
Severity: normal

"loadkeys -d" is supposed to load the default keymap. Instead it loads stdin.

"loadkeys -d somefile" should load the default keymap, then somefile.

This patch fixes all the usage cases, I think, but the loop logic is getting
ugly so you might want to rework it.

Index: kbd-1.15.3/src/loadkeys.y
===================================================================
--- kbd-1.15.3.orig/src/loadkeys.y	2013-05-22 05:32:30.378879662 -0500
+++ kbd-1.15.3/src/loadkeys.y	2013-05-22 05:36:37.890876881 -0500
@@ -1163,7 +1163,8 @@
 		close(fd);
 	}
 
-	for (i = optind; argv[i]; i++) {
+	int did_optd = 0;
+	for (i = optind; optd || argv[i]; i++) {
 		FILE *f;
 		char *ev;
 
@@ -1177,8 +1178,10 @@
 		}
 
 		if (optd) {
+			--i;
 			/* first read default map - search starts in . */
 			optd = 0;
+			did_optd = 1;
 			if ((f = findfile(DEFMAP, dirpath, suffixes)) == NULL) {
 				fprintf(stderr, _("Cannot find %s\n"), DEFMAP);
 				exit(EXIT_FAILURE);
@@ -1199,7 +1202,7 @@
 		parse_keymap(f);
 	}
 
-	if (optind == argc) {
+	if (optind == argc && !did_optd) {
 		strcpy(pathname, "<stdin>");
 		parse_keymap(stdin);
 	}

-- System Information:
Debian Release: 7.0
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.8.2+ (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages kbd depends on:
ii  libc6     2.13-38
ii  lsb-base  4.1+Debian8

Versions of packages kbd recommends:
ii  console-data  2:1.12-2

kbd suggests no packages.

-- Configuration Files:
/etc/kbd/config changed [not included]
/etc/kbd/remap [Errno 2] No such file or directory: u'/etc/kbd/remap'

-- no debconf information



More information about the Pkg-kbd-devel mailing list