On 02/22/2011 01:55 PM, Brett Cannon wrote: > > > On Mon, Feb 21, 2011 at 15:34, David Claridge <daave at daave.com > <mailto:daave at daave.com>> wrote: > > Hi, > > I was wondering if there is some reason why C API functions like > PyObject_CallMethod[1] and PySys_GetObject[2] take char* arguments > rather than const char*s? If there is some reason these methods will > modify their string arguments, it would be nice if it was documented, > because at the moment it's unclear whether it is safe to cast a string > literal to char* in these cases. For instance it seems reasonable that > I should be able to call PySys_GetObject("path") without having to > deal with a 'deprecated conversion from string constant to ‘char*’' > error. > > > Probably because (a) the person who first wrote them used char* instead > of const char*, and (b) it gives us API flexibility by not promising to > not alter the char array at some point in the future. Also changing it now would be a giant hassle, leading to so-called "const poisoning" where many, many APIs need to be changed before everything would again work.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4