--
-
Enrico Weigelt== metux IT service - http://www.metux.de/
-
Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
-
#
# Some fixups for large file support (64bit sizes) on 32bit systems
#
# Source: Gentoo Portage
# Reference:4.6.1
# Submit-By:Enrico Weigelt, metux IT service weig...@metux.de
# Submit-Date: 2008-12-26
# Submit-State: new
#
diff -Naur mc-4.6.1.orig/intl/loadmsgcat.c mc-4.6.1/intl/loadmsgcat.c
--- mc-4.6.1.orig/intl/loadmsgcat.c 2005-07-23 18:52:57.0 +0200
+++ mc-4.6.1/intl/loadmsgcat.c 2006-03-19 17:11:14.0 +0100
@@ -1002,7 +1002,7 @@
/* The magic number is wrong: not a message catalog file. */
#ifdef HAVE_MMAP
if (use_mmap)
- munmap ((caddr_t) data, size);
+ munmap ((void *) data, size);
else
#endif
free (data);
@@ -1271,7 +1271,7 @@
free (domain-malloced);
#ifdef HAVE_MMAP
if (use_mmap)
- munmap ((caddr_t) data, size);
+ munmap ((void *) data, size);
else
#endif
free (data);
@@ -1306,7 +1306,7 @@
# ifdef _POSIX_MAPPED_FILES
if (domain-use_mmap)
-munmap ((caddr_t) domain-data, domain-mmap_size);
+munmap ((void *) domain-data, domain-mmap_size);
else
# endif/* _POSIX_MAPPED_FILES */
free ((void *) domain-data);
diff -Naur mc-4.6.1.orig/src/view.c mc-4.6.1/src/view.c
--- mc-4.6.1.orig/src/view.c2005-05-27 16:19:18.0 +0200
+++ mc-4.6.1/src/view.c 2006-03-19 17:10:34.0 +0100
@@ -76,6 +76,12 @@
#define vwidth (view-widget.cols - (view-have_frame ? 2 : 0))
#define vheight (view-widget.lines - (view-have_frame ? 2 : 0))
+#if GLIB_MAJOR_VERSION = 2
+# define my_g_malloc g_try_malloc
+#else
+# define my_g_malloc g_malloc
+#endif
+
/* Offset in bytes into a file */
typedef unsigned long offset_type;
#define INVALID_OFFSET ((offset_type) -1)
@@ -560,8 +566,8 @@
view-data = mc_mmap (0, view-s.st_size, PROT_READ,
MAP_FILE | MAP_SHARED, view-file, 0);
else
- view-data = (caddr_t) -1;
-if ((caddr_t) view-data != (caddr_t) - 1) {
+ view-data = (void *) -1;
+if (view-data != (void *)-1) {
/* mmap worked */
view-first = 0;
view-bytes_read = view-s.st_size;
@@ -573,6 +579,9 @@
/* For the OSes that don't provide mmap call, try to load all the
* file into memory (a...@bcs.zaporizhzhe.ua). Also, mmap can fail
* for any reason, so we use this as fallback (pa...@ucw.cz) */
+
+/* If large file support is enabled, st_size is a 64 bit value and
+ * will thus on 32 bit platforms possibly be beyond the range of gulong */
/* Make sure view-s.st_size is not truncated when passed to g_malloc */
if ((gulong) view-s.st_size == view-s.st_size)
diff -Naur mc-4.6.1.orig/vfs/local.c mc-4.6.1/vfs/local.c
--- mc-4.6.1.orig/vfs/local.c 2004-09-25 01:00:18.0 +0200
+++ mc-4.6.1/vfs/local.c2006-03-19 17:00:45.0 +0100
@@ -243,8 +243,8 @@
}
#ifdef HAVE_MMAP
-caddr_t
-local_mmap (struct vfs_class *me, caddr_t addr, size_t len, int prot, int
flags, void *data, off_t offset)
+void *
+local_mmap (struct vfs_class *me, void *addr, size_t len, int prot, int flags,
void *data, off_t offset)
{
int fd = * (int *)data;
@@ -252,7 +252,7 @@
}
int
-local_munmap (struct vfs_class *me, caddr_t addr, size_t len, void *data)
+local_munmap (struct vfs_class *me, void *addr, size_t len, void *data)
{
return munmap (addr, len);
}
diff -Naur mc-4.6.1.orig/vfs/local.h mc-4.6.1/vfs/local.h
--- mc-4.6.1.orig/vfs/local.h 2004-08-17 11:17:43.0 +0200
+++ mc-4.6.1/vfs/local.h2006-03-19 17:01:35.0 +0100
@@ -13,9 +13,9 @@
extern int local_errno (struct vfs_class *me);
extern int local_lseek (void *data, off_t offset, int whence);
#ifdef HAVE_MMAP
-extern caddr_t local_mmap (struct vfs_class *me, caddr_t addr, size_t len,
+extern void *local_mmap (struct vfs_class *me, void *addr, size_t len,
int prot, int flags, void *data, off_t offset);
-extern int local_munmap (struct vfs_class *me, caddr_t addr, size_t len, void
*data);
+extern int local_munmap (struct vfs_class *me, void *addr, size_t len, void
*data);
#endif
#endif
diff -Naur mc-4.6.1.orig/vfs/samba/lib/util.c mc-4.6.1/vfs/samba/lib/util.c
--- mc-4.6.1.orig/vfs/samba/lib/util.c 2005-05-27 16:19:19.0 +0200
+++ mc-4.6.1/vfs/samba/lib/util.c 2006-03-19 17:06:39.0 +0100
@@ -1836,7 +1836,7 @@
/* Look up the host address in the address list we just got. */
for (i = 0; hp-h_addr_list[i]; i++) {
-