From: Wilfried Goesgens Date: Mon, 17 Oct 2011 22:15:57 +0000 (+0200) Subject: Add function to free the file upload facilities. X-Git-Tag: v8.11~440 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=a85c25a80a5aec5bc4d805473ccaa23cffc650c9 Add function to free the file upload facilities. --- diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h index 7021ed47a..e64dbc32d 100644 --- a/libcitadel/lib/libcitadel.h +++ b/libcitadel/lib/libcitadel.h @@ -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); diff --git a/libcitadel/lib/stringbuf.c b/libcitadel/lib/stringbuf.c index 7dc07af46..466bb2c32 100644 --- a/libcitadel/lib/stringbuf.c +++ b/libcitadel/lib/stringbuf.c @@ -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) {