? diff
Index: gmime-stream-cat.c
===================================================================
RCS file: /cvs/gnome/gmime/gmime/gmime-stream-cat.c,v
retrieving revision 1.18
diff -u -r1.18 gmime-stream-cat.c
--- gmime-stream-cat.c	16 Jun 2006 16:04:47 -0000	1.18
+++ gmime-stream-cat.c	21 Jun 2006 22:15:28 -0000
@@ -323,7 +323,14 @@
 			real += current->length;
 		
 		real += current->stream->bound_start;
-		ret = g_mime_stream_seek (current->stream, real, GMIME_STREAM_SEEK_SET);
+		
+		if (real > 0)
+			ret = g_mime_stream_seek (current->stream, real, GMIME_STREAM_SEEK_SET);
+		else if (real == 0)
+			ret = g_mime_stream_reset (current->stream);
+		else
+			ret = -1;
+		
 		if (ret != -1) {
 			stream->position = offset;
 			cat->current = current;
