Stefan Beller <[email protected]> writes:
> +static void strip_url_ending(char *url, size_t *_len)
> +{
> + int check_url_stripping = 1;
> + size_t len = _len ? *_len : strlen(url);
> +
> + while (check_url_stripping) {
> + check_url_stripping = 0;
> + if (is_dir_sep(url[len-2]) && url[len-1] == '.') {
This is "strip /. at the end" it seems.
Does anything in the loop control guarantees 2 <= len at this point?
> + url[len-2] = '\0';
> + len -= 2;
> + check_url_stripping = 1;
> + }
> +
> + if (is_dir_sep(url[len-1])) {
This is "strip / at the end" it seems.
Does anything in the loop control guarantees 1 <= len at this point?
> + url[len-1] = '\0';
> + len--;
> + check_url_stripping = 1;
> + }
> + }