A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2016-December/147057.html below:

[Python-Dev] PySlice_GetIndicesEx annd stable ABI: bikeshedding

[Python-Dev] PySlice_GetIndicesEx annd stable ABI: bikesheddingSerhiy Storchaka storchaka at gmail.com
Thu Dec 22 05:34:39 EST 2016
On 22.12.16 12:16, Armin Rigo wrote:
> On 21 December 2016 at 15:51, Serhiy Storchaka <storchaka at gmail.com> wrote:
>> The code
>>
>>     if (PySlice_GetIndicesEx(item, length,
>>             &start, &stop, &step, &slicelength) < 0)
>>         return -1;
>>
>> should be replaced with
>>
>>     if (foo(item, &start, &stop, &step) < 0)
>>         return -1;
>>     slicelength = bar(&start, &stop, step, length);
>
> As far as I can tell, as written, this change would not fix anything.
> Shouldn't it be along the following lines instead?
>
>     if (foo(item, &start, &stop, &step) < 0)
>         return -1;
>     length = PyList_GET_SIZE(mylist);   /* <= after foo() */
>     slicelength = bar(&start, &stop, &step, length);

Yes, the point is that length is not a constant, but a result of an 
expression and should be evaluated after calling foo().

step is not changed by bar() and can be passed by value to it.

More information about the Python-Dev mailing list

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