bpo-19418: audioop.c: Fix warnings on -0x80000000 (GH-7453) · python/cpython@e5b79c5 (original) (raw)

`@@ -25,7 +25,8 @@ typedef short PyInt16;

`

25

25

`#endif

`

26

26

``

27

27

`static const int maxvals[] = {0, 0x7F, 0x7FFF, 0x7FFFFF, 0x7FFFFFFF};

`

28

``

`-

static const int minvals[] = {0, -0x80, -0x8000, -0x800000, -0x80000000};

`

``

28

`+

/* -1 trick is needed on Windows to support -0x80000000 without a warning */

`

``

29

`+

static const int minvals[] = {0, -0x80, -0x8000, -0x800000, -0x7FFFFFFF-1};

`

29

30

`static const unsigned int masks[] = {0, 0xFF, 0xFFFF, 0xFFFFFF, 0xFFFFFFFF};

`

30

31

``

31

32

`static int

`

`@@ -393,7 +394,9 @@ audioop_minmax(PyObject *self, PyObject *args)

`

393

394

`signed char *cp;

`

394

395

`int len, size, val = 0;

`

395

396

`int i;

`

396

``

`-

int min = 0x7fffffff, max = -0x80000000;

`

``

397

`+

/* -1 trick below is needed on Windows to support -0x80000000 without

`

``

398

`+

a warning */

`

``

399

`+

int min = 0x7fffffff, max = -0x7FFFFFFF-1;

`

397

400

``

398

401

`if (!PyArg_ParseTuple(args, "s#i:minmax", &cp, &len, &size))

`

399

402

`return NULL;

`