Greg Ewing wrote: > skip at pobox.com wrote: > >>If I then wanted to see what scheme's value >>compared to, the string's comparison method would have to recognize that it >>wasn't truly NUL-terminated, copy it, call strncmp() or whatever underlying >>routine is used for string comparisons. > > > Python string comparisons can't be using anything that > relies on nul-termination, because Python strings can > contain embedded nuls. Possibly it uses memcmp(), but > that takes a length. > > You have a point when it comes to passing strings to > other C routines, though. For those that don't have a > variant which takes a maximum length, the substring type > might have to keep a cached nul-terminated copy created > on demand. Then the copying overhead would only be > incurred if you did happen to pass a substring to such > a routine. > Since Python strings *can* contain embedded NULs, doesn't that rather poo on the idea of passing pointers to their data to C functions as things stand? regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/
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