From 103faac820ccc3c62314c396f2112990795dc4ae Mon Sep 17 00:00:00 2001 From: Nate Choe Date: Wed, 15 Jun 2022 14:38:30 -0500 Subject: [PATCH] Added new dynamic mode --- src/responses.c | 5 +++-- src/swebs/types.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/responses.c b/src/responses.c index 4e9b00b..fb365a7 100644 --- a/src/responses.c +++ b/src/responses.c @@ -130,11 +130,12 @@ static int linkedResponse(Connection *conn, case FILE_UNKNOWN_LENGTH: return sendPipe(conn->stream, getCode(code), response.response.file.fd); - case BUFFER: + case BUFFER: case BUFFER_NOFREE: ret = sendBinaryResponse(conn->stream, getCode(code), response.response.buffer.data, response.response.buffer.len); - free(response.response.buffer.data); + if (response.type == BUFFER) + free(response.response.buffer.data); return ret; case DEFAULT: return sendErrorResponse(conn->stream, getCode(code)); diff --git a/src/swebs/types.h b/src/swebs/types.h index 7474ac2..6ece53e 100644 --- a/src/swebs/types.h +++ b/src/swebs/types.h @@ -79,6 +79,7 @@ typedef enum { FILE_KNOWN_LENGTH, FILE_UNKNOWN_LENGTH, BUFFER, + BUFFER_NOFREE, DEFAULT /* Return the default value for this error code */ } ResponseType;