Review: Needs Fixing
Unless I'm mistaken, there's no requirement that a fragment identifier must
follow a forward-slash. The following is a valid URI with a fragment identifier:
So the check for (lNormUri.at(found-1) == '/') is incorrect. Also I think it
might cause a crash if the URI is the string "#" (which is probably not valid
anyway, but still we shouldn't crash).
More generally: I just spent a while reading RFC 3986 to see whether a simple
character-search for '#' was sufficient to identify a fragment, when it
occurred to me that I shouldn't be trying to answer that question manually. I
think a better solution here would be to construct a zorba::URI object
(src/zorbatypes/URI.h) from lNormUri and then call get_encoded_fragment() on it
to see if there is any fragment. I don't like introducing that much overhead to
perform this function, but parsing URIs is tricky and IMHO it makes sense to
consolidate all of that functionality in a single place, namely the URI class.
Your team Zorba Coders is subscribed to branch lp:zorba.
Mailing list: https://launchpad.net/~zorba-coders
Post to : email@example.com
Unsubscribe : https://launchpad.net/~zorba-coders
More help : https://help.launchpad.net/ListHelp