Index: lib/formdata.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/formdata.c,v
retrieving revision 1.74
diff -u -r1.74 formdata.c
--- lib/formdata.c      24 Jun 2004 11:54:11 -0000      1.74
+++ lib/formdata.c      28 Sep 2004 06:08:41 -0000
@@ -113,6 +113,7 @@
 #include <stdarg.h>
 #include <time.h>
 #include <sys/stat.h>
+#include <libgen.h>
 #include "formdata.h"
 #include "strequal.h"
 #include "memory.h"
@@ -998,22 +999,43 @@

       if(post->more) {
         /* if multiple-file */
+        char *filebasename;
+        if (!file->showfilename) {
+          char *filename;
+          filename = strdup(file->contents);
+          filebasename = strdup(basename(filename));
+          free(filename);
+        }
+
         result = AddFormDataf(&form, &size,
                               "\r\n--%s\r\nContent-Disposition: "
                               "attachment; filename=\"%s\"",
                               fileboundary,
                               (file->showfilename?file->showfilename:
-                               file->contents));
+                               filebasename));
+        if (filebasename)
+          free(filebasename);
         if (result)
           break;
       }
       else if((post->flags & HTTPPOST_FILENAME) ||
               (post->flags & HTTPPOST_BUFFER)) {

+        char *filebasename;
+        if (!file->showfilename) {
+          char *filename;
+          filename = strdup(file->contents);
+          filebasename = strdup(basename(filename));
+          free(filename);
+        }
+
         result = AddFormDataf(&form, &size,
                               "; filename=\"%s\"",
                               (post->showfilename?post->showfilename:
-                               post->contents));
+                               filebasename));
+        if (filebasename)
+          free(filebasename);
+
         if (result)
           break;
       }

