From afe71ebe02c8ec9730a396414a0d50ce6015060a Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Thu, 19 Apr 2012 20:45:35 -0400 Subject: [PATCH] url - path+query component. --- makefile.mk | 4 ++-- url.c | 8 +++----- utest.c | 3 +++ 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/makefile.mk b/makefile.mk index 34540bd..d29274e 100644 --- a/makefile.mk +++ b/makefile.mk @@ -4,8 +4,8 @@ OBJS = gopher.o url.o connection.o readline2.o scheme.o ftype.o setftype.o gopher: $(OBJS) $(CC) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $@ -utest: utest.o url.o - $(CC) $(LDFLAGS) utest.o url.o -o $@ +utest: utest.o url.o scheme.o + $(CC) $(LDFLAGS) utest.o url.o scheme.o -o $@ dtest: dtest.o dictionary.o $(CC) $(LDFLAGS) dtest.o dictionary.o -o $@ diff --git a/url.c b/url.c index 4c3a8bb..0a3708f 100644 --- a/url.c +++ b/url.c @@ -4,10 +4,9 @@ #include #include - - #include "url.h" + enum { kScheme, kUser, @@ -145,7 +144,7 @@ int ParseURL(const char *url, int length, struct URLComponents *components) components->scheme = range; - parseScheme(url, i, components); + parse_scheme(url, i, components); ++i; // skip the ':' } @@ -415,7 +414,6 @@ int ParseURL(const char *url, int length, struct URLComponents *components) components->portNumber = p; } - #if 0 // path and query. // path;params?query range = components->path; @@ -423,12 +421,12 @@ int ParseURL(const char *url, int length, struct URLComponents *components) { if (components->params.length) range.length += components->params.length + 1; + if (components->query.length) range.length += components->query.length + 1; components->pathAndQuery = range; } - #endif return 1; diff --git a/utest.c b/utest.c index 1032732..68ff14c 100644 --- a/utest.c +++ b/utest.c @@ -46,6 +46,9 @@ void test(const char *url) URLComponentGetC(url, &data, URLComponentFragment, buffer); printf(" fragment: %s\n", buffer); + + URLComponentGetC(url, &data, URLComponentPathAndQuery, buffer); + printf(" path+query: %s\n", buffer); free(buffer);