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:

  http://www.example.com/foobar#zot

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.
-- 
https://code.launchpad.net/~zorba-coders/zorba/bug1073091/+merge/139346
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to     : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp

Reply via email to