mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-30 08:02:38 -05:00
44 lines
1.3 KiB
Diff
44 lines
1.3 KiB
Diff
|
David Leverton writes about adventure/crc.c:
|
||
|
|
||
|
The 'adventure' game from the games-misc/bsd-games-2.13 package crashes
|
||
|
when saving the game on AMD64 (and probably other 64-bit systems, but I
|
||
|
haven't checked). Find attached to fix this.
|
||
|
|
||
|
http://bugs.gentoo.org/show_bug.cgi?id=77032
|
||
|
|
||
|
|
||
|
About utmpentry.c:
|
||
|
|
||
|
the utmpx structure defines the ut_tv member a little differently on
|
||
|
64bit hosts so that a 32bit and 64bit structure can be shared. So the
|
||
|
ut_tv is a custom 32bit structure rather than the native 64bit timeval
|
||
|
structure. Work around is to assign the submembers instead.
|
||
|
|
||
|
http://bugs.gentoo.org/show_bug.cgi?id=102667
|
||
|
|
||
|
--- bsd-games/adventure/crc.c
|
||
|
+++ bsd-games/adventure/crc.c
|
||
|
@@ -134,7 +134,8 @@
|
||
|
if (step >= sizeof(crctab) / sizeof(crctab[0]))
|
||
|
step = 0;
|
||
|
}
|
||
|
- crcval = (crcval << 8) ^ crctab[i];
|
||
|
+ /* Mask to 32 bits. */
|
||
|
+ crcval = ((crcval << 8) ^ crctab[i]) & 0xffffffff;
|
||
|
}
|
||
|
- return crcval & 0xffffffff; /* Mask to 32 bits. */
|
||
|
+ return crcval;
|
||
|
}
|
||
|
--- bsd-games/dm/utmpentry.c
|
||
|
+++ bsd-games/dm/utmpentry.c
|
||
|
@@ -291,7 +291,8 @@
|
||
|
e->line[sizeof(e->line) - 1] = '\0';
|
||
|
(void)strncpy(e->host, up->ut_host, sizeof(up->ut_host));
|
||
|
e->name[sizeof(e->host) - 1] = '\0';
|
||
|
- e->tv = up->ut_tv;
|
||
|
+ e->tv.tv_sec = up->ut_tv.tv_sec;
|
||
|
+ e->tv.tv_usec = up->ut_tv.tv_usec;
|
||
|
adjust_size(e);
|
||
|
}
|
||
|
#endif
|