HTTP demo with Jansson for JSON parsing #4
4
Makefile
4
Makefile
@ -33,13 +33,13 @@ LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
|
||||
#---------------------------------------------------------------------------------
|
||||
# any extra libraries we wish to link with the project
|
||||
#---------------------------------------------------------------------------------
|
||||
LIBS := -lwiiuse -lbte -logc -lm
|
||||
LIBS := -lwiiuse -lbte -logc -lm -ljansson
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
# list of directories containing libraries, this must be the top level containing
|
||||
# include and lib
|
||||
#---------------------------------------------------------------------------------
|
||||
LIBDIRS :=
|
||||
LIBDIRS := $(PORTLIBS)
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
# no real need to edit anything past this point unless you need to add additional
|
||||
|
@ -4,7 +4,10 @@
|
||||
#include <network.h>
|
||||
#include <wiiuse/wpad.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "sandia/sandia.h"
|
||||
#include <jansson.h>
|
||||
|
||||
// Uncomment if this is a development build
|
||||
//#include "debug.h"
|
||||
@ -82,7 +85,30 @@ int main(int argc, char **argv) {
|
||||
|
||||
sandia req = sandia_create("libreshop.donut.eu.org", 80);
|
||||
sandia_response res = sandia_get_request(&req, "/");
|
||||
printf("\n%s\n", res.body);
|
||||
bool lastWasNewline = false;
|
||||
int resBodyLength = strlen(res.body);
|
||||
for (int i = 0; i < resBodyLength; i++) {
|
||||
if (res.body[i] == '\r') continue;
|
||||
|
||||
if (res.body[i] == '\n') {
|
||||
if (lastWasNewline) {
|
||||
printf("Headers end at: %i\n", i);
|
||||
|
||||
int rBL = resBodyLength - i;
|
||||
char* body = malloc(rBL);
|
||||
for (int j = 0; j < rBL; j++) {
|
||||
body[j] = res.body[j + i + 1];
|
||||
}
|
||||
|
||||
printf("\"%s\"\n", body);
|
||||
|
||||
break;
|
||||
}
|
||||
else lastWasNewline = true;
|
||||
}
|
||||
else lastWasNewline = false;
|
||||
}
|
||||
printf("\n");
|
||||
sandia_close(&req);
|
||||
} else {
|
||||
logprint(0, "Network configuration failed :(\n");
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 9b383cdda825ab4ba2767102b06cbd5dc734dae9
|
||||
Subproject commit 62ea4d024fda8663463ddc20c13eec5e1c08b2de
|
Loading…
Reference in New Issue
Block a user