char * Ns_RelativeUrl(char *url, char *location) { char *v; if (url == NULL || location == NULL) { return NULL; } /* * Ns_Match will return the point in URL where location stops * being equal to it because location ends. * * e.g., if location = "http://www.foo.com" and * url="http://www.foo.com/a/b" then after the call, * v="/a/b", or NULL if there's a mismatch. */ v = Ns_Match(location, url); if (v != NULL) { url = v; } while (url[0] == '/' && url[1] == '/') { ++url; } return url; }
char * Ns_StrCaseFind(char *string, char *substring) { if (strlen(string) > strlen(substring)) { while (*string != '\0') { if (Ns_Match(string, substring)) { return string; } ++string; } } return NULL; }