Add function to free the file upload facilities.
authorWilfried Goesgens <dothebart@citadel.org>
Mon, 17 Oct 2011 22:15:57 +0000 (00:15 +0200)
committerWilfried Goesgens <dothebart@citadel.org>
Mon, 17 Oct 2011 22:15:57 +0000 (00:15 +0200)
libcitadel/lib/libcitadel.h
libcitadel/lib/stringbuf.c

index 7021ed47a7bab2e5ff5f4fbb368c185b3d3e6445..e64dbc32d1adbb1b1b2c239d79244ffcebd5c504 100644 (file)
@@ -250,6 +250,7 @@ typedef struct __fd_iobuffer {
 
 
 void FDIOBufferInit(FDIOBuffer *FDB, IOBuffer *IO, int FD, long TotalSendSize);
+void FDIOBufferDelete(FDIOBuffer *FDB);
 int FileSendChunked(FDIOBuffer *FDB, const char **Err);
 int FileRecvChunked(FDIOBuffer *FDB, const char **Err);
 eReadState WriteIOBAlreadyRead(FDIOBuffer *FDB, const char **Error);
index 7dc07af46e18a57541628d1b9a9f522cf0f94ef0..466bb2c32da704fe39e588782c7142fb8e7414c6 100644 (file)
@@ -3807,6 +3807,18 @@ void FDIOBufferInit(FDIOBuffer *FDB, IOBuffer *IO, int FD, long TotalSendSize)
        FDB->OtherFD = FD;
 }
 
+void FDIOBufferDelete(FDIOBuffer *FDB)
+{
+#ifndef LINUX_SENDFILE
+       FreeStrBuf(&FDB->ChunkBuffer);
+#else
+       close(FDB->SplicePipe[0]);
+       close(FDB->SplicePipe[1]);
+#endif
+       close(FDB->OtherFD);
+       memset(FDB, 0, sizeof(FDIOBuffer));     
+}
+
 int FileSendChunked(FDIOBuffer *FDB, const char **Err)
 {