Zachary Ware added the comment: Larry Hastings wrote: > Does your proposed solution work properly when docstrings are turned > off? Try undefining WITH_DOC_STRINGS. I bet you need to make the > size 1 in that case.
For certain values of "properly", yes. It builds with no warnings or errors on Windows, but I don't know how it does on memory usage. It's easy enough to define PyDoc_VAR_WITH_SIZE alongside PyDoc_STR and use '1' instead of 'size' when WITH_DOC_STRINGS is undefined, though. > Also, the length must be len(f.docstring) + 1, to account for the > trailing \0. I thought so as well, but testing both ways showed no difference. To provoke a difference, I defined length as len(f.docstring) - 1, which threw a compiler warning about an overflow. Adding 1 is probably safer, though. > Also, error C2133 doesn't look like it's applicable. On line 71 it's > not being stored in a structure. Dumb MSVC. I can't argue that one :) > Also PyDoc_SIZEDVAR is a bad name. PyDoc_SIZED_VAR would be an > improvement, but I think PyDoc_VAR_WITH_SIZE is the name you want >there. Fair enough. > And, I'm still not a +1 on this approach. Can you propose something > else? I gave the 4 alternatives I could think of; I'll keep thinking and throw out anything else I come up with. > Finally, I will note that the "buffer" preset would work just fine in > this file, if you dumped the buffer just above the PyMethodDef array. Indeed; winsound is just a convenient testbed since it's such a small module, but the problem will affect any module that can really benefit from the two-pass output system. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue20323> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com