Fixed the conversion from string to pointer and vice-versa to use the escaped version of the UTF-16 or UTF-8 conversion from and to READABLE_STRING_32 instances, otherwise reading an invalid UTF-8 or UTF-16 sequence could result in a string that cannot be roundtripped.


git-svn-id: https://freeelks.svn.sourceforge.net/svnroot/freeelks/trunk@679 6d4a7a74-6026-0410-acef-abb7cea3cd6d
Fixed conversion of surrogate pairs from a pointer either escaped or not where the resulting STRING_32 was invlid. See eweasel test#utf001 for UTF-16 sequence (0xD834,0xDD1E) or (0xD834,0xD000).


git-svn-id: https://freeelks.svn.sourceforge.net/svnroot/freeelks/trunk@680 6d4a7a74-6026-0410-acef-abb7cea3cd6d
Fixed `absolute_path_in' where now we need to twin the arguments when we are using its storage to append more to it.
Improved `internal_path_append_into' to not add a separator if `other' is already starting with a separator, this makes the appending of `x' by '/kernel' result in `x/kernel' instead of `x//kernel'.


git-svn-id: https://freeelks.svn.sourceforge.net/svnroot/freeelks/trunk@681 6d4a7a74-6026-0410-acef-abb7cea3cd6d