[gmime/gmime-2-4] fixed 64bit clean issues
- From: Jeffrey Stedfast <fejj src gnome org>
- To: svn-commits-list gnome org
- Subject: [gmime/gmime-2-4] fixed 64bit clean issues
- Date: Sun, 3 May 2009 09:36:15 -0400 (EDT)
commit ea919fc92aea975442d7abfb70d8bd9f8d2bec81
Author: Jeffrey Stedfast <fejj gnome org>
Date: Sun May 3 09:35:36 2009 -0400
fixed 64bit clean issues
2009-05-02 Jeffrey Stedfast <fejj novell com>
* gmime/gmime-stream-buffer.c (stream_seek_cache_read): Fixed a
64bit cleanlines issue.
(stream_seek_cache_read): Cap the max cache size to G_MAXSIZE.
---
ChangeLog | 6 ++++++
gmime/gmime-stream-buffer.c | 12 ++++++++----
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 869d959..c227c7c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-05-02 Jeffrey Stedfast <fejj novell com>
+
+ * gmime/gmime-stream-buffer.c (stream_seek_cache_read): Fixed a
+ 64bit cleanlines issue.
+ (stream_seek_cache_read): Cap the max cache size to G_MAXSIZE.
+
2009-04-27 Jeffrey Stedfast <fejj novell com>
* README: Bumped version
diff --git a/gmime/gmime-stream-buffer.c b/gmime/gmime-stream-buffer.c
index 1027165..0321675 100644
--- a/gmime/gmime-stream-buffer.c
+++ b/gmime/gmime-stream-buffer.c
@@ -466,8 +466,8 @@ stream_seek_block_read (GMimeStream *stream, gint64 offset, GMimeSeekWhence when
|| (offset > 0 && offset <= buffer->buflen)) {
/* the position is within our pre-buffered region */
stream->position += offset;
- buffer->bufptr += offset;
- buffer->buflen -= offset;
+ buffer->bufptr += (size_t) offset;
+ buffer->buflen -= (size_t) offset;
return stream->position;
}
@@ -489,7 +489,7 @@ static gint64
stream_seek_cache_read (GMimeStream *stream, gint64 offset, GMimeSeekWhence whence)
{
GMimeStreamBuffer *buffer = (GMimeStreamBuffer *) stream;
- size_t len, total = 0;
+ gint64 buflen, len, total = 0;
gint64 pos, real;
ssize_t nread;
@@ -538,7 +538,11 @@ stream_seek_cache_read (GMimeStream *stream, gint64 offset, GMimeSeekWhence when
pos = buffer->bufptr - buffer->buffer;
- buffer->buflen = buffer->bufend - buffer->buffer + len;
+ buflen = (buffer->bufend - buffer->buffer) + len;
+ if (buflen < G_MAXSIZE)
+ buffer->buflen = (size_t) buflen;
+ else
+ buffer->buflen = G_MAXSIZE;
buffer->buffer = g_realloc (buffer->buffer, buffer->buflen);
buffer->bufend = buffer->buffer + buffer->buflen;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]