
Hi Martin, I'm sorry, I will revert commit 13045.
1. It contains a memleak realpath allocates new memory if the second argument is NULL. In the added code, this memory is never freed.
2. Breaks build on Windows (realpath(...) not found)
3. Please don't add functions that use C-strings unnecessarily. Simply rewrite parseDataUri to parseDataUri(const std::string &uri), and use C++'s string methods. ("#include <cstring.h>" is a huge red flag upon code review)
4. Please read this about "realpath" http://insanecoding.blogspot.ch/2007/11/pathmax-simply-isnt.html
regards, Johan
PS. (not related to commit) uri.cpp has a lot of "throw(BadURIException)", you can remove those as "throw(...)" don't add anything and will become obsolete in C++11.