From a485918d44e89b841174cad26d861fd4e53dde03 Mon Sep 17 00:00:00 2001 From: Stephen Heumann Date: Wed, 1 Aug 2018 01:53:49 -0500 Subject: [PATCH] Small refactoring. --- http.c | 29 ++++++++++++++++------------- http.h | 3 +-- main.c | 4 ++-- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/http.c b/http.c index e1abe91..a04cbb1 100644 --- a/http.c +++ b/http.c @@ -33,6 +33,18 @@ enum ResponseHeader { LOCATION, }; +static void +UpdateRequestRange(Session *sess, unsigned long start, unsigned long end) { + int count = + snprintf(sess->httpRequestRange, 10+1+10+5, "%lu-%lu\r\n\r\n", start, end); + + sess->desiredStart = start; + sess->desiredEnd = end; + + sess->httpRequestLen = sess->httpRequestRange - sess->httpRequest + count; +} + + Boolean BuildHTTPRequest(Session *sess, char *resourceStr) { int sizeNeeded = 0; int rangeOffset; @@ -77,25 +89,16 @@ Boolean BuildHTTPRequest(Session *sess, char *resourceStr) { return TRUE; } - -void UpdateRequestRange(Session *sess, unsigned long start, unsigned long end) { - int count = - snprintf(sess->httpRequestRange, 10+1+10+5, "%lu-%lu\r\n\r\n", start, end); - - sess->desiredStart = start; - sess->desiredEnd = end; - - sess->httpRequestLen = sess->httpRequestRange - sess->httpRequest + count; -} - - -enum RequestResult DoHTTPRequest(Session *sess) { +enum RequestResult +DoHTTPRequest(Session *sess, unsigned long start, unsigned long end) { top:; rlrBuff rlrBuff = {0}; Word tcpError; Boolean wantRedirect = FALSE, gotRedirect = FALSE; enum RequestResult result; + UpdateRequestRange(sess, start, end); + sess->responseCode = 0; /* Send out request */ diff --git a/http.h b/http.h index 3cd9f08..1b367f2 100644 --- a/http.h +++ b/http.h @@ -18,7 +18,6 @@ enum RequestResult { }; Boolean BuildHTTPRequest(Session *sess, char *resourceStr); -void UpdateRequestRange(Session *sess, unsigned long start, unsigned long end); -enum RequestResult DoHTTPRequest(Session *sess); +enum RequestResult DoHTTPRequest(Session *sess, unsigned long start, unsigned long end); #endif \ No newline at end of file diff --git a/main.c b/main.c index 236312e..4e11509 100644 --- a/main.c +++ b/main.c @@ -47,7 +47,6 @@ int main(int argc, char **argv) { if (argc > 2) { startByte = strtoul(argv[2], NULL, 0); } - UpdateRequestRange(&sess, startByte, startByte + 511); printf("Request:\n"); printf("=========\n"); @@ -60,7 +59,8 @@ int main(int argc, char **argv) { printf("=========\n"); printf("\n", i); - enum RequestResult requestResult = DoHTTPRequest(&sess); + enum RequestResult requestResult; + requestResult = DoHTTPRequest(&sess, startByte, startByte + 511); printf("RequestResult %i\n", requestResult); printf("Response code %lu\n", sess.responseCode);