This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author shashank
Recipients pitrou, r.david.murray, shashank
Date 2010-10-23.21:22:06
SpamBayes Score 2.847722e-14
Marked as misclassified No
Message-id <1287868931.75.0.801766819192.issue10030@psf.upfronthosting.co.za>
In-reply-to
Content
>the C module should be private and therefore called _zipdecrypt
done

>if you want to avoid API mismatch, you could give a tp_call to your C >decrypter object, rather than a "decrypt" method
done

>- you can put all initialization code in zipdecrypt_new and avoid the >need for zipdecrypt_init
keeping this similar to the existing _ZipDecrypter class in ZipFile (all initialization in init rather than new), which was probably to allow re-init and re-use of one instance

>it's better to use the "y*" code in PyArg_ParseTuple, rather than "s#"
y* does not seem to be available in 2.7, using s* instead

>you should define your module as PY_SSIZE_T_CLEAN and use Py_ssize_t >as length variables (rather than int)
done

>you *mustn't* change the contents of the buffer which is given you by >"s#" or "y*", since that buffer is read-only (it can be a bytes >object); instead, create a new bytes object using >PyBytes_FromStringAndSize(NULL, length) and write into that; or, if >you want a read-write buffer, use the "w*" code
corrected, not altering the input buffer, reading input buffer as s*
History
Date User Action Args
2010-10-23 21:22:11shashanksetrecipients: + shashank, pitrou, r.david.murray
2010-10-23 21:22:11shashanksetmessageid: <1287868931.75.0.801766819192.issue10030@psf.upfronthosting.co.za>
2010-10-23 21:22:10shashanklinkissue10030 messages
2010-10-23 21:22:10shashankcreate