After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 680018 - need_fixup seems to be always TRUE in uri_normalized_copy
need_fixup seems to be always TRUE in uri_normalized_copy
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: API
unspecified
Other Linux
: Normal normal
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2012-07-16 14:27 UTC by Yann Soubeyrand
Modified: 2012-07-17 14:16 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Yann Soubeyrand 2012-07-16 14:27:48 UTC
Hi,

The boolean need_fixup seems to always be TRUE due to the NUL character at the end of the string.
In more when you place %20 in the unescape_extra string it doesn't work due to the fixup code but maybe it's wanted.

Cheers
Comment 1 Dan Winship 2012-07-16 16:06:30 UTC
good catch. fixed in git, thanks
Comment 2 Yann Soubeyrand 2012-07-16 17:39:56 UTC
For the second point if you put a non printable character, say %20, in unescape_extra it will be handle differently following the case:
* if there is an unescaped non printable character in part other than %20, need_fixup will be TRUE and every %20 in part will be unescaped then escaped again in fixup code
* if there is no other non printable character in part, every %20 will appear unescaped in normalized.
Comment 3 Dan Winship 2012-07-16 18:11:51 UTC
unescape_extra takes characters, not %-escapes. If you want spaces unescaped, pass " ", not "%20".
Comment 4 Yann Soubeyrand 2012-07-16 19:20:34 UTC
Sorry, wasn't clear. I meant a space in unescape extra but wrote %20.
Comment 5 Dan Winship 2012-07-17 14:16:23 UTC
ah, I get it. Fixed in master (but not in 2.39.4 or 2.39.4.1)