Larry Hastings added the comment: Okay, I got inspired and (in the words of Barry Warsaw) JFDI. Attached is my revised patch. I took Serhiy's patch and reworked it quite a bit:
* I think it's now easier to follow. In particular: * The most common case (no overflow) is now first. In Serhiy's patch the most common case is buried in the middle of the second "if". * I removed some extraneous tests. * I changed the error messages to call the values "uid" and "gid", to match the names of the parameters. * I noticed that _fd_converter had the same bad-idea PyFloat_Check, so I changed it to use PyNumber_Index instead. In the process I also noticed that Serhiy's approach had a resource leak: it never decref'd the result of PyNumber_Index() when successful. To make sure I duplicated Serhiy's semantics, I had a test harness that ran both his and mine and ensured they returned the same thing (or both threw an error). Obviously I removed all that before cutting the patch. ---------- Added file: http://bugs.python.org/file29860/larry.chown.unsigned.uid.gid.2.diff _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue15301> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com