libidav/utils.c

changeset 151
a316613205dc
parent 150
37fb12574acd
child 152
ff854d3df20c
equal deleted inserted replaced
150:37fb12574acd 151:a316613205dc
85 } else { 85 } else {
86 return 0; 86 return 0;
87 } 87 }
88 } 88 }
89 89
90 char* util_url_base(char *url) {
91 sstr_t u = sstr(url);
92 int len = u.length;
93 int slashcount = 0;
94 int slmax;
95 if(len > 7 && !strncasecmp(url, "http://", 7)) {
96 slmax = 3;
97 } else if(len > 8 && !strncasecmp(url, "https://", 8)) {
98 slmax = 3;
99 } else {
100 slmax = 1;
101 }
102 char c;
103 int i = 0;
104 for(i=0;i<len;i++) {
105 c = url[i];
106 if(c == '/') {
107 slashcount++;
108 if(slashcount == slmax) {
109 i++;
110 break;
111 }
112 }
113 }
114 sstr_t server = sstrsubsl(u, 0, i);
115 server = sstrdup(server);
116 return server.ptr;
117 }
118
90 char* util_url_path(char *url) { 119 char* util_url_path(char *url) {
91 char *path = NULL; 120 char *path = NULL;
92 size_t len = strlen(url); 121 size_t len = strlen(url);
93 int slashcount = 0; 122 int slashcount = 0;
94 int slmax; 123 int slmax;

mercurial