Submitted By: Matthew Burgess Date: 2005-07-28 Initial Package Version: 1.12 Upstream Status: Unknown Origin: http://cvs.fedora.redhat.com/viewcvs/devel/kbd/kbd-1.12-alias.patch?rev=1.2&view=markup Description: Fix violations of C aliasing rules, triggered by gcc4. diff -Naur kbd-1.12.orig/src/psffontop.c kbd-1.12/src/psffontop.c --- kbd-1.12.orig/src/psffontop.c 2004-01-16 19:45:31.000000000 +0000 +++ kbd-1.12/src/psffontop.c 2005-07-28 20:33:57.946088984 +0000 @@ -59,7 +59,6 @@ static unsigned int assemble_ucs2(char **inptr, int cnt) { - unsigned char **in = (unsigned char **) inptr; unsigned int u1, u2; if (cnt < 2) { @@ -68,8 +67,8 @@ exit(EX_DATAERR); } - u1 = *(*in)++; - u2 = *(*in)++; + u1 = (unsigned char)*(*inptr)++; + u2 = (unsigned char)*(*inptr)++; return (u1 | (u2 << 8)); } @@ -110,7 +109,6 @@ */ static void get_uni_entry(char **inptr, char **endptr, struct unicode_list *up, int utf8) { - unsigned char **in = (unsigned char **) inptr; unsigned char uc; unicode unichar; int inseq = 0; @@ -126,14 +124,14 @@ exit(EX_DATAERR); } if (utf8) { - uc = *(*in)++; + uc = *(*inptr)++; if (uc == PSF2_SEPARATOR) break; if (uc == PSF2_STARTSEQ) { inseq = 1; continue; } - --(*in); + --(*inptr); unichar = assemble_utf8(inptr, *endptr - *inptr); } else { unichar = assemble_ucs2(inptr, *endptr - *inptr);