source: patches/kbd-1.12-gcc4_fixes-1.patch@ ebe7738

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since ebe7738 was 69cde8d, checked in by Jim Gifford <clfs@…>, 19 years ago

Added: All patches needed for the book.

  • Property mode set to 100644
File size: 1.4 KB
RevLine 
[69cde8d]1Submitted By: Matthew Burgess <matthew@linuxfromscratch.org>
2Date: 2005-07-28
3Initial Package Version: 1.12
4Upstream Status: Unknown
5Origin: http://cvs.fedora.redhat.com/viewcvs/devel/kbd/kbd-1.12-alias.patch?rev=1.2&view=markup
6Description: Fix violations of C aliasing rules, triggered by gcc4.
7
8diff -Naur kbd-1.12.orig/src/psffontop.c kbd-1.12/src/psffontop.c
9--- kbd-1.12.orig/src/psffontop.c 2004-01-16 19:45:31.000000000 +0000
10+++ kbd-1.12/src/psffontop.c 2005-07-28 20:33:57.946088984 +0000
11@@ -59,7 +59,6 @@
12
13 static unsigned int
14 assemble_ucs2(char **inptr, int cnt) {
15- unsigned char **in = (unsigned char **) inptr;
16 unsigned int u1, u2;
17
18 if (cnt < 2) {
19@@ -68,8 +67,8 @@
20 exit(EX_DATAERR);
21 }
22
23- u1 = *(*in)++;
24- u2 = *(*in)++;
25+ u1 = (unsigned char)*(*inptr)++;
26+ u2 = (unsigned char)*(*inptr)++;
27 return (u1 | (u2 << 8));
28 }
29
30@@ -110,7 +109,6 @@
31 */
32 static void
33 get_uni_entry(char **inptr, char **endptr, struct unicode_list *up, int utf8) {
34- unsigned char **in = (unsigned char **) inptr;
35 unsigned char uc;
36 unicode unichar;
37 int inseq = 0;
38@@ -126,14 +124,14 @@
39 exit(EX_DATAERR);
40 }
41 if (utf8) {
42- uc = *(*in)++;
43+ uc = *(*inptr)++;
44 if (uc == PSF2_SEPARATOR)
45 break;
46 if (uc == PSF2_STARTSEQ) {
47 inseq = 1;
48 continue;
49 }
50- --(*in);
51+ --(*inptr);
52 unichar = assemble_utf8(inptr, *endptr - *inptr);
53 } else {
54 unichar = assemble_ucs2(inptr, *endptr - *inptr);
Note: See TracBrowser for help on using the repository browser.