mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
The previous code is correct, but hard to verify: The libmpdec documentation
rightfully states that an mpd_t with a coefficient flagged as MPD_CONST_DATA must not be in the position of the result operand. In this particular case several assumptions guarantee that a resize will never occur in all possible code paths, which was the reason for using MPD_CONST_DATA and saving an instruction by omitting the initialization of tmp.alloc. For readability, tmp is now flagged as MPD_STATIC_DATA and tmp.alloc is initialized.
This commit is contained in:
parent
447f0cc386
commit
140893cbaa
1 changed files with 2 additions and 1 deletions
|
@ -1280,7 +1280,8 @@ _mpd_qget_uint(int use_sign, const mpd_t *a, uint32_t *status)
|
|||
/* At this point a->digits+a->exp <= MPD_RDIGITS+1,
|
||||
* so the shift fits. */
|
||||
tmp.data = tmp_data;
|
||||
tmp.flags = MPD_STATIC|MPD_CONST_DATA;
|
||||
tmp.flags = MPD_STATIC|MPD_STATIC_DATA;
|
||||
tmp.alloc = 2;
|
||||
mpd_qsshiftr(&tmp, a, -a->exp);
|
||||
tmp.exp = 0;
|
||||
a = &tmp;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue