diff --git a/addrfilt.c b/addrfilt.c index c998b0c..8ed1574 100644 --- a/addrfilt.c +++ b/addrfilt.c @@ -62,7 +62,7 @@ split_ip6(IPAddr *ip, uint32_t *dst) int 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 + 2] << 8 | ip->addr.in6[i * 4 + 3]; diff --git a/conf.c b/conf.c index 2301993..2a92273 100644 --- a/conf.c +++ b/conf.c @@ -700,11 +700,11 @@ parse_refclock(char *line) if (!strcasecmp(cmd, "refid")) { if (sscanf(line, "%4s%n", (char *)ref, &n) != 1) 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")) { if (sscanf(line, "%4s%n", (char *)ref, &n) != 1) 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")) { if (sscanf(line, "%d%n", &poll, &n) != 1) { break; diff --git a/refclock.c b/refclock.c index 26193f6..8791d43 100644 --- a/refclock.c +++ b/refclock.c @@ -233,7 +233,7 @@ RCL_AddRefclock(RefclockParameters *params) if (index >= 10) 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) {