-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Finally getting rid of CStdString #6121
Conversation
jenkins build this please |
d5012b6
to
a26fa2f
Compare
All builds went fine except for RBPI (see http://jenkins.kodi.tv/job/BuildMulti-PR/2017/). I've pushed a fix and am running only that build now. |
OK RBPI build was successful. |
If nobody objects until tomorrow I'll squash the two "COMMENT" into the respective commits and merge this. |
imo this is a good approach - we will see any fall out in the forums i guess - similar to what we spotted after the first phases of those kind of PRs - to huge to review in a sane way imo. |
I guess we now really need to start working on doing the same for the PVR addons. |
You will quickly realize you need stringutils. |
using StdString or not for add-ons is up to whoever maintains the add-on. our repos is just a collection of whatever upstreams provide. except for the tvheadend and demo add-ons, feel free to rip it out of those two if it's used there. and then you're going to need stringutils in there too like spiff said. |
a26fa2f
to
651edac
Compare
Squashed the two COMMENT commits and rebased onto latest master. |
@notspiff @opdenkamp replacing it with StringUtils was the idea. |
My plan was to put stringutils in kodi-platform then have kodi depend on that. |
I've looked through @jmarshallnz's branches and came across the last step in getting rid of CStdString once and for all (based on the work of @notspiff). So I cherry-picked all of the commits, fixed all conflicts and finally fixed the win32 build. I then abused jenkins to test build all the other platforms and now they all build fine on jenkins. I made sure that win32 still compiles after every commit but I wasn't able to do the same for linux. It should (TM) work there as well but it's not tested.
While handling the conflicts and fixing the platforms I came across two changes that I'm not 100% sure about:
char*
to astd::wstring
by assigning it to astd::string
and then copying that into thestd::wstring
. Maybe there's a cleaner solution.#include <stdio.h>
toDllLibCurl.h
because it failed to compile on linux due toFILE
being undefined. The issue here is thatcurl/curl.h
already includesstdio.h
but we includecurl/curl.h
in theXCURL
namespace (to avoid name collisions). But according to some responses in the GCC bug tracker this should not be done because including standard C headers in a namespace results in undefined behaviour. But we've used this for ages.I'd like to get this in ASAP because it touches a lot of code and has a high chance for conflicts.