Index: cacertinmem.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/cacertinmem.c,v
retrieving revision 1.3
diff -u -r1.3 cacertinmem.c
--- cacertinmem.c	22 May 2008 21:20:08 -0000	1.3
+++ cacertinmem.c	29 May 2008 10:33:10 -0000
@@ -24,8 +24,10 @@
 
 size_t writefunction( void *ptr, size_t size, size_t nmemb, void *stream)
 {
-  fwrite(ptr,size,nmemb,stream);
-  return(nmemb*size);
+  /* fwrite returns number of elements written, not bytes,
+   * so multiplying it by size
+   */
+  return fwrite(ptr,size,nmemb,stream) * size;
 }
 
 static CURLcode sslctx_function(CURL * curl, void * sslctx, void * parm)
Index: curlgtk.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/curlgtk.c,v
retrieving revision 1.7
diff -u -r1.7 curlgtk.c
--- curlgtk.c	22 May 2008 21:20:08 -0000	1.7
+++ curlgtk.c	29 May 2008 10:33:10 -0000
@@ -21,12 +21,18 @@
 
 size_t my_write_func(void *ptr, size_t size, size_t nmemb, FILE *stream)
 {
-  return fwrite(ptr, size, nmemb, stream);
+  /* fwrite returns number of elements written, not bytes,
+   * so multiplying it by size
+   */
+  return fwrite(ptr, size, nmemb, stream) * size;
 }
 
 size_t my_read_func(void *ptr, size_t size, size_t nmemb, FILE *stream)
 {
-  return fread(ptr, size, nmemb, stream);
+  /* fread returns number of elements read, not bytes,
+   * so multiplying it by size
+   */
+  return fread(ptr, size, nmemb, stream) * size;
 }
 
 int my_progress_func(GtkWidget *bar,
Index: fopen.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/fopen.c,v
retrieving revision 1.11
diff -u -r1.11 fopen.c
--- fopen.c	22 May 2008 21:20:09 -0000	1.11
+++ fopen.c	29 May 2008 10:33:11 -0000
@@ -331,7 +331,9 @@
     switch(file->type)
     {
     case CFTYPE_FILE:
-        want=fread(ptr,size,nmemb,file->handle.file);
+        /* fread returns number of elements read, not bytes,
+         * so multiplying it by size */
+        want = fread(ptr,size,nmemb,file->handle.file) * size;
         break;
 
     case CFTYPE_CURL:
Index: ftpget.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/ftpget.c,v
retrieving revision 1.8
diff -u -r1.8 ftpget.c
--- ftpget.c	22 May 2008 21:20:09 -0000	1.8
+++ ftpget.c	29 May 2008 10:33:11 -0000
@@ -35,7 +35,11 @@
     if(!out->stream)
       return -1; /* failure, can't open file to write */
   }
-  return fwrite(buffer, size, nmemb, out->stream);
+  /*
+   * fwrite returns number of elements written, not bytes,
+   * so multiplying it by size
+   */
+  return fwrite(buffer, size, nmemb, out->stream) * size;
 }
 
 
Index: ftpgetresp.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/ftpgetresp.c,v
retrieving revision 1.4
diff -u -r1.4 ftpgetresp.c
--- ftpgetresp.c	16 Jul 2007 21:22:12 -0000	1.4
+++ ftpgetresp.c	29 May 2008 10:33:12 -0000
@@ -25,7 +25,9 @@
 write_response(void *ptr, size_t size, size_t nmemb, void *data)
 {
   FILE *writehere = (FILE *)data;
-  return fwrite(ptr, size, nmemb, writehere);
+  /* fwrite returns number of elements written, not bytes,
+     so multiplying it by size */
+  return fwrite(ptr, size, nmemb, writehere) * size;
 }
 
 int main(int argc, char **argv)
Index: ftpupload.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/ftpupload.c,v
retrieving revision 1.15
diff -u -r1.15 ftpupload.c
--- ftpupload.c	22 May 2008 21:20:09 -0000	1.15
+++ ftpupload.c	29 May 2008 10:33:12 -0000
@@ -43,7 +43,9 @@
   /* in real-world cases, this would probably get this data differently
      as this fread() stuff is exactly what the library already would do
      by default internally */
-  size_t retcode = fread(ptr, size, nmemb, stream);
+  /* NOTE: fread returns number of elements read, not bytes,
+     so multiplying it by size */
+  size_t retcode = fread(ptr, size, nmemb, stream) * size;
 
   fprintf(stderr, "*** We read %d bytes from file\n", retcode);
   return retcode;
Index: httpput.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/httpput.c,v
retrieving revision 1.11
diff -u -r1.11 httpput.c
--- httpput.c	22 May 2008 21:20:09 -0000	1.11
+++ httpput.c	29 May 2008 10:33:12 -0000
@@ -32,7 +32,9 @@
   /* in real-world cases, this would probably get this data differently
      as this fread() stuff is exactly what the library already would do
      by default internally */
-  retcode = fread(ptr, size, nmemb, stream);
+  /* NOTE: fread returns number of elements read, not bytes,
+     so multiplying it by size */
+  retcode = fread(ptr, size, nmemb, stream) * size;
 
   fprintf(stderr, "*** We read %d bytes from file\n", retcode);
 
Index: sepheaders.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/sepheaders.c,v
retrieving revision 1.10
diff -u -r1.10 sepheaders.c
--- sepheaders.c	22 May 2008 21:20:09 -0000	1.10
+++ sepheaders.c	29 May 2008 10:33:12 -0000
@@ -18,8 +18,10 @@
 
 static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
 {
-  int written = fwrite(ptr, size, nmemb, (FILE *)stream);
-  return written;
+  /*
+   * fwrite returns number of elements written, not bytes,
+   * so multiplying it by size.  */
+  return fwrite(ptr, size, nmemb, (FILE *)stream) * size;
 }
 
 int main(int argc, char **argv)
Index: smooth-gtk-thread.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/smooth-gtk-thread.c,v
retrieving revision 1.2
diff -u -r1.2 smooth-gtk-thread.c
--- smooth-gtk-thread.c	3 Apr 2008 20:28:33 -0000	1.2
+++ smooth-gtk-thread.c	29 May 2008 10:33:13 -0000
@@ -48,7 +48,9 @@
 size_t write_file(void *ptr, size_t size, size_t nmemb, FILE *stream)
 {
   /* printf("write_file\n"); */
-  return fwrite(ptr, size, nmemb, stream);
+  /* fwrite returns number of elements written, not bytes,
+     so multiplying it by size */
+  return fwrite(ptr, size, nmemb, stream) * size;
 }
 
 /* http://xoap.weather.com/weather/local/46214?cc=*&dayf=5&unit=i */
Index: synctime.c
===================================================================
RCS file: /cvsroot/curl/curl/docs/examples/synctime.c,v
retrieving revision 1.5
diff -u -r1.5 synctime.c
--- synctime.c	22 May 2008 21:20:09 -0000	1.5
+++ synctime.c	29 May 2008 10:33:13 -0000
@@ -111,8 +111,9 @@
 size_t SyncTime_CURL_WriteOutput(void *ptr, size_t size, size_t nmemb,
                                  void *stream)
 {
-  fwrite(ptr, size, nmemb, stream);
-  return(nmemb*size);
+  /* fwrite returns number of elements written, not bytes,
+     so multiplying it by size */
+  return fwrite(ptr, size, nmemb, stream) * size;
 }
 
 size_t SyncTime_CURL_WriteHeader(void *ptr, size_t size, size_t nmemb,

