mslot_class: two more: use uint32_t to shift 1 << 31

Avoid runtime error seen on jenkins admin-deb9build slave, when building
osmo-pcu with_dsp=None,with_vty=False, during ts_alloc and tbf regression
tests:

+../../../src/mslot_class.c:271:36: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
+../../../src/mslot_class.c:272:22: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

This time it seems that these are all.

The master-osmo-pcu breaks on this since moving to a debian9 build slave.

Change-Id: I976a1dca9da19a05afc85a17b7ba60545b7bc1e5
changes/52/7552/1
Neels Hofmeyr 5 years ago
parent 8b4bd46b95
commit f75381498c
  1. 4
      src/mslot_class.c

@ -268,8 +268,8 @@ uint16_t mslot_wrap_window(uint16_t win)
bool mslot_test_and_set_bit(uint32_t *bits, size_t elem)
{
bool was_set = bits[elem/32] & (1 << (elem % 32));
bits[elem/32] |= (1 << (elem % 32));
bool was_set = bits[elem/32] & (((uint32_t)1) << (elem % 32));
bits[elem/32] |= (((uint32_t)1) << (elem % 32));
return was_set;
}

Loading…
Cancel
Save