From 3d8ce04a42ad17f8fc7cdccfb8346495f78aaf2c Mon Sep 17 00:00:00 2001 From: marcus Date: Tue, 21 Feb 2006 04:52:34 +0000 Subject: Fix a casting problem on 64-bit platforms. Instead of casting a pointer to int, cast to char*. The GNOME developers will probably choose to cast to guchar* since that's really the data type being pointed to, but char* is probably easier to read and understand. See http://bugzilla.gnome.org/show_bug.cgi?id=331971 for more details. Submitted by: Pascal Hofstee and bland git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@5715 df743ca5-7f9a-e211-a948-0013205c9059 --- graphics/eog/Makefile | 3 +- .../eog/files/patch-libeog_eog-metadata-reader.c | 49 ++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 graphics/eog/files/patch-libeog_eog-metadata-reader.c (limited to 'graphics') diff --git a/graphics/eog/Makefile b/graphics/eog/Makefile index ce430fc7d..bc512cfc0 100644 --- a/graphics/eog/Makefile +++ b/graphics/eog/Makefile @@ -3,11 +3,12 @@ # Whom: Joe Marcus Clarke # # $FreeBSD$ -# $MCom: ports/graphics/eog/Makefile,v 1.19 2006/01/31 20:36:49 marcus Exp $ +# $MCom: ports/graphics/eog/Makefile,v 1.20 2006/02/15 04:57:34 marcus Exp $ # PORTNAME= eog PORTVERSION= 2.13.91 +PORTREVISION= 1 CATEGORIES= graphics gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/${PORTNAME:S/2$//}/2.13 diff --git a/graphics/eog/files/patch-libeog_eog-metadata-reader.c b/graphics/eog/files/patch-libeog_eog-metadata-reader.c new file mode 100644 index 000000000..8a06e55a8 --- /dev/null +++ b/graphics/eog/files/patch-libeog_eog-metadata-reader.c @@ -0,0 +1,49 @@ +--- libeog/eog-metadata-reader.c.orig Mon Feb 20 23:48:08 2006 ++++ libeog/eog-metadata-reader.c Mon Feb 20 23:48:55 2006 +@@ -228,13 +228,13 @@ eog_metadata_reader_consume (EogMetadata + + if (i + priv->size < len) { + /* read data in one block */ +- memcpy ((void*) ((int)(priv->exif_chunk) + priv->bytes_read), (void*)&buf[i], priv->size); ++ memcpy ((void*) ((char *)(priv->exif_chunk) + priv->bytes_read), (void*)&buf[i], priv->size); + priv->state = EMR_READ; + i = i + priv->size - 1; /* the for-loop consumes the other byte */ + } + else { + int chunk_len = len - i; +- memcpy ((void*)((int)priv->exif_chunk + priv->bytes_read), (void*)&buf[i], chunk_len); ++ memcpy ((void*)((char *)priv->exif_chunk + priv->bytes_read), (void*)&buf[i], chunk_len); + priv->bytes_read += chunk_len; /* bytes already read */ + priv->size = (i + priv->size) - len; /* remaining data to read */ + i = len - 1; +@@ -257,13 +257,13 @@ eog_metadata_reader_consume (EogMetadata + + if (i + priv->size < len) { + /* read data in one block */ +- memcpy ((void*) ((int)(priv->icc_chunk) + priv->bytes_read), (void*)&buf[i], priv->size); ++ memcpy ((void*) ((char *)(priv->icc_chunk) + priv->bytes_read), (void*)&buf[i], priv->size); + priv->state = EMR_READ; + i = i + priv->size - 1; /* the for-loop consumes the other byte */ + } + else { + int chunk_len = len - i; +- memcpy ((void*)((int)priv->icc_chunk + priv->bytes_read), (void*)&buf[i], chunk_len); ++ memcpy ((void*)((char *)priv->icc_chunk + priv->bytes_read), (void*)&buf[i], chunk_len); + priv->bytes_read += chunk_len; /* bytes already read */ + priv->size = (i + priv->size) - len; /* remaining data to read */ + i = len - 1; +@@ -283,12 +283,12 @@ eog_metadata_reader_consume (EogMetadata + + if (i + priv->size < len) { + /* read data in one block */ +- memcpy ((void*)((int)priv->iptc_chunk + priv->bytes_read), (void*)&buf[i], priv->size); ++ memcpy ((void*)((char *)priv->iptc_chunk + priv->bytes_read), (void*)&buf[i], priv->size); + priv->state = EMR_READ; + } + else { + int chunk_len = len - i; +- memcpy ((void*)((int)priv->iptc_chunk + priv->bytes_read), (void*)&buf[i], chunk_len); ++ memcpy ((void*)((char *)priv->iptc_chunk + priv->bytes_read), (void*)&buf[i], chunk_len); + priv->bytes_read += chunk_len; /* bytes already read */ + priv->size = (i + priv->size) - len; /* remaining data to read */ + i = len - 1; -- cgit v1.2.3