From b0d3002af8bedbf7fb6a5993ac40809ec638072e Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Thu, 15 Sep 2022 22:46:34 +0300 Subject: Remove http.h includes from amalgamation --- http.c | 4 ---- src/amalgamate.c | 25 +++++++++++-------------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/http.c b/http.c index 7b7b6c8..f337e32 100644 --- a/http.c +++ b/http.c @@ -70,7 +70,6 @@ void separate_status_and_headers(char** ppStatus, char* zHeaders); /********** src/http.c **********/ -#include "http.h" SQLITE_EXTENSION_INIT1 @@ -866,7 +865,6 @@ __declspec(dllexport) #ifdef HTTP_BACKEND_CURL -#include "http.h" #include #include @@ -1347,7 +1345,6 @@ done: #ifdef HTTP_BACKEND_DUMMY -#include "http.h" #include @@ -1412,7 +1409,6 @@ int http_do_request(http_request* req, http_response* resp, char** ppErrMsg) { #ifdef HTTP_BACKEND_WINHTTP -#include "http.h" #include #include diff --git a/src/amalgamate.c b/src/amalgamate.c index f2fdc1e..6064e91 100644 --- a/src/amalgamate.c +++ b/src/amalgamate.c @@ -1,4 +1,5 @@ #include +#include #include int main(int argc, char const* argv[]) { @@ -19,31 +20,27 @@ int main(int argc, char const* argv[]) { return 1; } + static const int bufsize = 16*1024; + char* buffer = malloc(bufsize); + for (int i = 0; i < nFilenames; ++i) { FILE* fp = fopen(aFilenames[i], "rb"); if (!fp) { fprintf(stderr, "error opening %s: %s\n", aFilenames[i], strerror(errno)); return 1; } - char buffer[512]; - size_t nread = - snprintf(buffer, sizeof(buffer), "\n/********** %s **********/\n\n", aFilenames[i]); - if (fwrite(buffer, 1, nread, fout) != nread) { + snprintf(buffer, bufsize, "\n/********** %s **********/\n\n", aFilenames[i]); + if (fwrite(buffer, 1, strlen(buffer), fout) != strlen(buffer)) { fprintf(stderr, "error writing http.c: %s\n", strerror(errno)); return 1; } - while (1) { - nread = fread(buffer, 1, sizeof(buffer), fp); - if (!nread) { - if (ferror(fp)) { - fprintf(stderr, "error reading %s: %s\n", aFilenames[i], strerror(errno)); + while (fgets(buffer, bufsize, fp)) { + size_t l = strlen(buffer); + if (strncmp(buffer, "#include \"http.h\"", 17) != 0) { + if (fwrite(buffer, 1, l, fout) != l) { + fprintf(stderr, "error writing http.c: %s\n", strerror(errno)); return 1; } - break; - } - if (fwrite(buffer, 1, nread, fout) != nread) { - fprintf(stderr, "error writing http.c: %s\n", strerror(errno)); - return 1; } } fclose(fp); -- cgit v1.2.3