Closed RavuAlHemio closed 9 years ago
3 nits:
Thanks for your feedback; I have updated the pull request.
2nd commit still doesn't state the why, does it crash if the patch is not committed?
WRT 3rd commit, I would change the signature to not use "out" parameters, rename it to IsMonoVersionOlderThan(), and simply pass (4, 2) as parameters. It would simply return false also if running under MS.NET. The way you have implemented it now, the check would return false for mono 3.x.
I think the bug fixed by the 3rd commit was introduced with Mono moving to the ReferenceSource implementations of many classes, including UTF32Encoding. Therefore, I think it only hit some versions within 4.0.0 <= mono < 4.2.0. However, it probably makes sense to be cautious anyway.
From Travis-CII:
./STFL/StflApi.cs(118,23): error CS0246: The type or namespace name `StringOnHeap' could not be found. Are you missing a using directive or an assembly reference?
STFL/StflApi.cs needs to be added to the Makefile.am
The 3rd commit should state why workaround is needed in the commit long message, mostly your comment would be sufficient in there with a link to the upstream bugreport
Remove code duplication, fix serialization for big-endian systems, work around Mono.Unix.UnixMarshal.PtrToString breakage with UTF-32, fix memory leaks.