| 32 | } |
| 33 | |
| 34 | int is_url(const char *url) |
| 35 | { |
| 36 | /* Is "scheme" part reasonable? */ |
| 37 | if (!url || !is_urlschemechar(1, *url++)) |
| 38 | return 0; |
| 39 | while (*url && *url != ':') { |
| 40 | if (!is_urlschemechar(0, *url++)) |
| 41 | return 0; |
| 42 | } |
| 43 | /* We've seen "scheme"; we want colon-slash-slash */ |
| 44 | return (url[0] == ':' && url[1] == '/' && url[2] == '/'); |
| 45 | } |
| 46 | |
| 47 | static char *url_decode_internal(const char **query, int len, |
| 48 | const char *stop_at, struct strbuf *out, |
no test coverage detected