]> code.citadel.org Git - citadel.git/blobdiff - webcit/downloads.c
* migrate more of the upload handling to strbuf
[citadel.git] / webcit / downloads.c
index b0e7cace3a431e099ff085248465ccfd38b5d1b3..03b7b8fc72397eaf02c3ed4fe558f75d5877a973 100644 (file)
@@ -249,7 +249,7 @@ void download_file(void)
        int force_download = 1;
        
        Buf = NewStrBuf();
-       StrBufExtract_token(Buf, WCC->Hdr->ReqLine, 2, '/');
+       StrBufExtract_token(Buf, WCC->Hdr->HR.ReqLine, 0, '/');
        StrBufUnescape(Buf, 1);
        serv_printf("OPEN %s", ChrPtr(Buf));
        StrBuf_ServGetln(Buf);
@@ -307,7 +307,7 @@ void upload_file(void)
        long blocksize;
        wcsession *WCC = WC;     /* stack this for faster access (WC is a function) */
 
-       MimeType = GuessMimeType(WCC->upload, WCC->upload_length); 
+       MimeType = GuessMimeType(ChrPtr(WCC->upload), WCC->upload_length); 
        serv_printf("UOPN %s|%s|%s", WCC->upload_filename, MimeType, bstr("description"));
        serv_getln(buf, sizeof buf);
        if (buf[0] != '2')
@@ -331,7 +331,7 @@ void upload_file(void)
                if (buf[0] == '7')
                {
                        blocksize = atoi(&buf[4]);
-                       serv_write(&WCC->upload[bytes_transmitted], blocksize);
+                       serv_write(&ChrPtr(WCC->upload)[bytes_transmitted], blocksize);
                        bytes_transmitted += blocksize;
                }
        }
@@ -375,6 +375,7 @@ void output_image(void)
                        if (!IsEmptyStr(MimeType))
                        {
                                http_transmit_thing(MimeType, 0);
+                               FreeStrBuf(&Buf);
                                return;
                        }
                }
@@ -387,7 +388,7 @@ void output_image(void)
         * when there's no such image on the server.
         */
        StrBufPrintf (Buf, "%s%s", static_dirs[0], "/blank.gif");
-       //// TDODO output_static(ChrPtr(Buf));
+       output_static(ChrPtr(Buf));
        FreeStrBuf(&Buf);
 }