---
+* [Bug 3850] ntpq -c apeers breaks column formatting s2 w/refclock refid.
+ <hart@ntp.org>
* [Bug 3846] Use -Wno-format-truncation by default.
* [Bug 3841] 4.2.8p17 build break w/ gcc 12 -Wformat-security without -Wformat
Need to remove --Wformat-security when removing -Wformat to
u_int32 u32;
const char *dstadr_refid = "0.0.0.0";
const char *serverlocal;
+ char *drbuf = NULL;
size_t drlen;
u_long stratum = 0;
long ppoll = 0;
} else if (decodenetnum(value, &refidadr)) {
if (SOCK_UNSPEC(&refidadr))
dstadr_refid = "0.0.0.0";
- else if (ISREFCLOCKADR(&refidadr))
+ else if (ISREFCLOCKADR(&refidadr)) {
dstadr_refid =
refnumtoa(&refidadr);
- else
+ } else {
dstadr_refid =
stoa(&refidadr);
+ }
} else {
have_da_rid = FALSE;
}
} else if (decodenetnum(value, &refidadr)) {
if (SOCK_UNSPEC(&refidadr))
dstadr_refid = "0.0.0.0";
- else if (ISREFCLOCKADR(&refidadr))
+ else if (ISREFCLOCKADR(&refidadr)) {
dstadr_refid =
- refnumtoa(&refidadr);
- else {
- char *buf = emalloc(10);
- int i = ntohl(refidadr.sa4.sin_addr.s_addr);
-
- snprintf(buf, 10,
- "%0x", i);
- dstadr_refid = buf;
- //xprintf(stderr, "apeervarlist refid: value=<%x>\n", i);
+ refnumtoa(&refidadr);
+ if (pvl == apeervarlist) {
+ /*
+ * restrict refid to
+ * 8 chars [Bug 3850]
+ */
+ dstadr_refid =
+ trunc_right(
+ dstadr_refid,
+ 8);
+ }
+ } else {
+ drbuf = emalloc(10);
+ snprintf(drbuf, 10, "%0x",
+ SRCADR(&refidadr));
+ dstadr_refid = drbuf;
}
- //xprintf(stderr, "apeervarlist refid: value=<%s>\n", value);
} else {
have_da_rid = FALSE;
}
drlen = strlen(dstadr_refid);
makeascii(drlen, dstadr_refid, fp);
}
+ free(drbuf);
if (pvl == apeervarlist) {
while (drlen++ < 9)
xputc(' ', fp);