Implementing URL decoding allows for usage of feh --start-at with encoded local URLs (e.g. file:///home/user/my%20pictures/cat.jpeg) without the need for libcurl. Previously if a file:// URL with an unsafe ascii character was encountered it would silently fail when compiled without libcurl enabled.
This implementation is basically inlining previously used curl_easy_unescape and Curl_urldecode.