|
From: justnope <spa...@te...> - 2019-02-02 01:53:32
|
> size_t is an unsigned type, whereas ssize_t is signed. So these two types are > used in the code for purpose and simply replacing one with the other would > break things, especially replacing ssize_t by size_t is not a good idea. > > It would make more sense to find an equivalent type available with msvc and to > add an appropriate typedef for msvc instead. Or if c++11 is acceptable I could just use auto. >> * vasprintf -> vsnprintf, malloc, sprintf > > If vasprintf() is missing then it would be preferable to add an implementation > of vasprintf() for msvc (e.g. in helper.h/.cpp) instead of bloating all the > calling code locations in RIFF.cpp and Serialization.cpp. My bad, I noticed that there was already a replacement for vasprintf in the code. It wasn't included because the preprocessor #if wasn't triggered. > Does msvc not ship with autoconf at all? If not, maybe a small script > triggered by the msvc project or by cmake might be an alternative that would > grep the latest version number from configure.ac? I added this to the cmake file. It now gets the version info from configure.ac. > I see that you actually disabled demangling completely for msvc. I am not > sure, but isn't there an alternative function for mscv that's called > undecorate symbols "unDec" or something? At least that's what I found somebody > suggested on the net. I've disabled it temporarily. I did some searching and I think I can use dbghelp.dll it's supposed to be included in every version of windows. Another option was to use boost, I thought it included a demangler. The advantage is that it is cross platform, but maybe it's a bit too heavy handed. I don't know what your thoughts are on using boost. If it's ok, I've made a project on github to track the changes I made: https://github.com/justnope/libgig It's easier for me to work on and maybe more convenient than to send the patches each time. If rather receive the patches each time, let me know. It's currently a work in progress, but I rather receive criticism early on than potentially having to redo things. |