summaryrefslogtreecommitdiff
path: root/utils/nsurl.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-09-26 21:50:16 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-09-26 21:50:16 +0000
commite90f794706d8b0712c0e29b3537ef849d3c3042b (patch)
tree163d0122a9a42fbcc2bb764114a41c6a2ec16949 /utils/nsurl.c
parentad3af34742d25058e5f6a6a1e4de5fab429ef9a8 (diff)
downloadnetsurf-e90f794706d8b0712c0e29b3537ef849d3c3042b.tar.gz
netsurf-e90f794706d8b0712c0e29b3537ef849d3c3042b.tar.bz2
Add nsurl_get_lwc function.
svn path=/trunk/netsurf/; revision=12894
Diffstat (limited to 'utils/nsurl.c')
-rw-r--r--utils/nsurl.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/utils/nsurl.c b/utils/nsurl.c
index 392d98346..e2b48a888 100644
--- a/utils/nsurl.c
+++ b/utils/nsurl.c
@@ -1183,6 +1183,51 @@ nserror nsurl_get(const nsurl *url, nsurl_component parts,
/* exported interface, documented in nsurl.h */
+lwc_string *nsurl_get_lwc(const nsurl *url, nsurl_component part)
+{
+ assert(url != NULL);
+
+ switch (part) {
+ case NSURL_SCHEME:
+ return (url->scheme != NULL) ?
+ lwc_string_ref(url->scheme) : NULL;
+
+ case NSURL_USERNAME:
+ return (url->username != NULL) ?
+ lwc_string_ref(url->username) : NULL;
+
+ case NSURL_PASSWORD:
+ return (url->password != NULL) ?
+ lwc_string_ref(url->password) : NULL;
+
+ case NSURL_HOST:
+ return (url->host != NULL) ?
+ lwc_string_ref(url->host) : NULL;
+
+ case NSURL_PORT:
+ return (url->port != NULL) ?
+ lwc_string_ref(url->port) : NULL;
+
+ case NSURL_PATH:
+ return (url->path != NULL) ?
+ lwc_string_ref(url->path) : NULL;
+
+ case NSURL_QUERY:
+ return (url->query != NULL) ?
+ lwc_string_ref(url->query) : NULL;
+
+ case NSURL_FRAGMENT:
+ return (url->fragment != NULL) ?
+ lwc_string_ref(url->fragment) : NULL;
+
+ default:
+ LOG(("Unsupported value passed to part param."));
+ assert(0);
+ }
+}
+
+
+/* exported interface, documented in nsurl.h */
bool nsurl_enquire(const nsurl *url, nsurl_component part)
{
assert(url != NULL);