libidav/utils.c

changeset 151
a316613205dc
parent 150
37fb12574acd
child 152
ff854d3df20c
--- a/libidav/utils.c	Sun Oct 04 15:57:40 2015 +0200
+++ b/libidav/utils.c	Sun Oct 04 18:35:15 2015 +0200
@@ -87,6 +87,35 @@
     }
 }
 
+char* util_url_base(char *url) {
+    sstr_t u = sstr(url);
+    int len = u.length;
+    int slashcount = 0;
+    int slmax;
+    if(len > 7 && !strncasecmp(url, "http://", 7)) {
+        slmax = 3;
+    } else if(len > 8 && !strncasecmp(url, "https://", 8)) {
+        slmax = 3;
+    } else {
+        slmax = 1;
+    }
+    char c;
+    int i = 0;
+    for(i=0;i<len;i++) {
+        c = url[i];
+        if(c == '/') {
+            slashcount++;
+            if(slashcount == slmax) {
+                i++;
+                break;
+            }
+        }
+    } 
+    sstr_t server = sstrsubsl(u, 0, i);
+    server = sstrdup(server);
+    return server.ptr;
+}
+
 char* util_url_path(char *url) { 
     char *path = NULL;
     size_t len = strlen(url);

mercurial