From: Ran Benita Date: Sat, 25 Feb 2012 19:13:26 +0000 (+0200) Subject: When makekeys fails to find a good hash, print error instead of divide-by-zero X-Git-Tag: xkbcommon-0.2.0~761^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0e98541f377cccd34ee69d1ae9fef256598c644e;p=platform%2Fupstream%2Flibxkbcommon.git When makekeys fails to find a good hash, print error instead of divide-by-zero This matches commit 78a894231ae8ec4959007b6d9b8d2a15d6333a1e from libX11: Signed-off-by: Alan Coopersmith Signed-off-by: Ran Benita --- diff --git a/makekeys/makekeys.c b/makekeys/makekeys.c index a25a4a6..fdccaf0 100644 --- a/makekeys/makekeys.c +++ b/makekeys/makekeys.c @@ -272,6 +272,11 @@ next1: ; printf("#ifndef KS_TABLES_H\n"); printf("#define KS_TABLES_H\n\n"); printf("static const unsigned char _XkeyTable[] = {\n"); + if (z == 0) { + fprintf(stderr, "makekeys: failed to find small enough hash!\n" + "Try increasing KTNUM in makekeys.c\n"); + exit(1); + } printf("0,\n"); k = 1; for (i = 0; i < ksnum; i++) { @@ -349,6 +354,11 @@ next2: ; } z = best_z; + if (z == 0) { + fprintf(stderr, "makekeys: failed to find small enough hash!\n" + "Try increasing KTNUM in makekeys.c\n"); + exit(1); + } for (i = z; --i >= 0;) offsets[i] = 0; for (i = 0; i < ksnum; i++) {