minor fix to support multiple files in one formadd() call
diff --git a/lib/formdata.c b/lib/formdata.c
index 0651a7b..e0c487d 100644
--- a/lib/formdata.c
+++ b/lib/formdata.c
@@ -411,7 +411,7 @@
   if(post) {
     memset(post, 0, sizeof(struct HttpPost));
     post->name = name;
-    post->namelength = namelength?namelength:(long)strlen(name);
+    post->namelength = name?(namelength?namelength:(long)strlen(name)):0;
     post->contents = value;
     post->contentslength = contentslength;
     post->contenttype = contenttype;
@@ -832,10 +832,12 @@
   if(FORMADD_OK == return_value) {
     /* go through the list, check for copleteness and if everything is
      * alright add the HttpPost item otherwise set return_value accordingly */
-    form = first_form;
-    while (form != NULL) {
-      if ( (!form->name) ||
-           (!form->value) ||
+    
+    post = NULL;
+    for(form = first_form;
+        form != NULL;
+        form = form->more) {
+      if ( ((!form->name || !form->value) && !post) ||
            ( (form->contentslength) &&
              (form->flags & HTTPPOST_FILENAME) ) ||
            ( (form->flags & HTTPPOST_FILENAME) &&
@@ -880,7 +882,6 @@
         if (form->contenttype)
           prevtype = form->contenttype;
       }
-      form = form->more;
     }
   }
 
@@ -1391,12 +1392,12 @@
 
     if(-1 == nread)
       break;
-    fwrite(buffer, nread, 1, stderr);
+    fwrite(buffer, nread, 1, stdout);
   } while(1);
 
-  fprintf(stderr, "size: %d\n", size);
+  fprintf(stdout, "size: %d\n", size);
   if (errors)
-    fprintf(stderr, "\n==> %d Test(s) failed!\n", errors);
+    fprintf(stdout, "\n==> %d Test(s) failed!\n", errors);
   else
     fprintf(stdout, "\nAll Tests seem to have worked (please check output)\n");