fix undefined shift operations on signed integers

This commit is contained in:
Miroslav Lichvar 2015-12-17 12:08:57 +01:00
parent e5a593f013
commit 69642dd440
3 changed files with 4 additions and 4 deletions

View file

@ -62,7 +62,7 @@ split_ip6(IPAddr *ip, uint32_t *dst)
int i; int i;
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++)
dst[i] = ip->addr.in6[i * 4 + 0] << 24 | dst[i] = (uint32_t)ip->addr.in6[i * 4 + 0] << 24 |
ip->addr.in6[i * 4 + 1] << 16 | ip->addr.in6[i * 4 + 1] << 16 |
ip->addr.in6[i * 4 + 2] << 8 | ip->addr.in6[i * 4 + 2] << 8 |
ip->addr.in6[i * 4 + 3]; ip->addr.in6[i * 4 + 3];

4
conf.c
View file

@ -700,11 +700,11 @@ parse_refclock(char *line)
if (!strcasecmp(cmd, "refid")) { if (!strcasecmp(cmd, "refid")) {
if (sscanf(line, "%4s%n", (char *)ref, &n) != 1) if (sscanf(line, "%4s%n", (char *)ref, &n) != 1)
break; break;
ref_id = ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3]; ref_id = (uint32_t)ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3];
} else if (!strcasecmp(cmd, "lock")) { } else if (!strcasecmp(cmd, "lock")) {
if (sscanf(line, "%4s%n", (char *)ref, &n) != 1) if (sscanf(line, "%4s%n", (char *)ref, &n) != 1)
break; break;
lock_ref_id = ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3]; lock_ref_id = (uint32_t)ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3];
} else if (!strcasecmp(cmd, "poll")) { } else if (!strcasecmp(cmd, "poll")) {
if (sscanf(line, "%d%n", &poll, &n) != 1) { if (sscanf(line, "%d%n", &poll, &n) != 1) {
break; break;

View file

@ -233,7 +233,7 @@ RCL_AddRefclock(RefclockParameters *params)
if (index >= 10) if (index >= 10)
ref[2] = (index / 10) % 10 + '0'; ref[2] = (index / 10) % 10 + '0';
inst->ref_id = ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3]; inst->ref_id = (uint32_t)ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3];
} }
if (inst->driver->poll) { if (inst->driver->poll) {