tool_urlglob: better 'Duplicate glob name' position

This now points to where the duplicate name ends, not where it starts.

Also fixes test 2410 to use a fixed hostname so that the error position
remains the same.

Reported-by: Viktor Szakats
Fixes #21567
Closes #21568
This commit is contained in:
Daniel Stenberg 2026-05-12 16:01:41 +02:00
parent 02dca1eb86
commit 287b082c63
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
2 changed files with 5 additions and 8 deletions

View file

@ -524,7 +524,7 @@ static CURLcode glob_parse(struct URLGlob *glob, const char *pattern,
/* check that the name is not already used */
struct URLPattern *p = glob_find_name(glob, &name);
if(p)
return globerror(glob, "Duplicate glob name", 2 + start - ipattern,
return globerror(glob, "Duplicate glob name", pattern - ipattern,
CURLE_URL_MALFORMAT);
pos += (pattern - start);
}

View file

@ -12,23 +12,20 @@ globbing
# Client-side
<client>
<server>
http
</server>
<name>
duplicate named glob
</name>
<command option="no-output">
"%HOSTIP:%HTTPPORT/{%LTtest%GTA,B}{%LTtest%GTC,D}" -o "%LOGDIR/dump"
"https://dummy.example/{%LTtest%GTA,B}{%LTtest%GTC,D}" -o "%LOGDIR/dump"
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<stderr mode="text">
curl: (3) Duplicate glob name in position 30:
%HOSTIP:%HTTPPORT/{%LTtest%GTA,B}{%LTtest%GTC,D}
^
curl: (3) Duplicate glob name in position 40:
https://dummy.example/{%LTtest%GTA,B}{%LTtest%GTC,D}
^
</stderr>
<errorcode>
3