diff --git a/bin/httpsrv b/bin/httpsrv index bd95929..d4d0c49 100755 Binary files a/bin/httpsrv and b/bin/httpsrv differ diff --git a/bin/main b/bin/main deleted file mode 100755 index 5840d7c..0000000 Binary files a/bin/main and /dev/null differ diff --git a/lib/file.h b/lib/file.h index 30c0599..2a29ba2 100644 --- a/lib/file.h +++ b/lib/file.h @@ -4,7 +4,7 @@ #include #include -char* readFile(char* path) { +void* readFile(char* path) { path++; if (strlen(path) <= 1) { printf("/ converted to /index.html\n"); @@ -17,15 +17,13 @@ char* readFile(char* path) { errno = -1; return ""; } - char* buf = NULL; + void* buf = NULL; fseek(fp, 0, SEEK_END); int length = ftell(fp); rewind(fp); - buf = (char*)malloc(sizeof(char) * (length + 1)); + buf = malloc(sizeof(char) * (length + 1)); fread(buf, sizeof(char), length, fp); - buf[length] = '\0'; - char* tmp = buf; - return tmp; + return buf; } diff --git a/src/srv.c b/src/srv.c index d8d8ee8..e469737 100644 --- a/src/srv.c +++ b/src/srv.c @@ -45,7 +45,7 @@ int srv(char* ADDR, int PORT) { char* tPath = request.path; char* dot = strrchr(tPath, '.'); - char *file = readFile(request.path); + void *file = readFile(request.path); ResHeader rawHeader; rawHeader.protocol = request.protocol; rawHeader.status = 200; @@ -75,8 +75,9 @@ int srv(char* ADDR, int PORT) { char tmpHeader[1024]; makeHeader(tmpHeader, &rawHeader); char resHeader[1024]; //= "HTTP/1.1 200 OK\r\n\nHello, world!"; - sprintf(resHeader, "%s%s", (char*)tmpHeader, file); + sprintf(resHeader, "%s", (char*)tmpHeader); send(client, resHeader, strlen(resHeader), 0); + send(client, (void*)(&file), sizeof(file), 0); close(client); } }