break;
case CC_FLAGS:
- if (mustput || (pcs->haveflags & (CLK_HAVEFLAG1 |
- CLK_HAVEFLAG2 | CLK_HAVEFLAG3 | CLK_HAVEFLAG4)))
- ctl_putuint(clock_var[id].text,
- pcs->flags);
+ ctl_putuint(clock_var[id].text, pcs->flags);
break;
case CC_DEVICE:
*/
ctl_error(CERR_BADASSOC);
#else
- const struct ctl_var *v;
- int i;
- struct peer *peer;
- char *valuep;
- u_char *wants;
- unsigned int gotvar;
- const u_char *cc;
- struct ctl_var *kv;
- struct refclockstat cs;
+ const struct ctl_var * v;
+ int i;
+ struct peer * peer;
+ char * valuep;
+ u_char * wants;
+ size_t wants_alloc;
+ int gotvar;
+ const u_char * cc;
+ struct ctl_var * kv;
+ struct refclockstat cs;
- if (res_associd)
+ if (res_associd != 0) {
peer = findpeerbyassoc(res_associd);
- else {
+ } else {
/*
* Find a clock for this jerk. If the system peer
* is a clock use it, else search peer_list for one.
peer = sys_peer;
else
for (peer = peer_list;
- peer != NULL;
+ peer != NULL;
peer = peer->p_link)
if (FLAG_REFCLOCK & peer->flags)
break;
* Look for variables in the packet.
*/
rpkt.status = htons(ctlclkstatus(&cs));
- gotvar = CC_MAXCODE + 1 + count_var(kv);
- wants = emalloc_zero(gotvar);
- gotvar = 0;
+ wants_alloc = CC_MAXCODE + 1 + count_var(kv);
+ wants = emalloc_zero(wants_alloc);
+ gotvar = FALSE;
while (NULL != (v = ctl_getitem(clock_var, &valuep))) {
if (!(EOV & v->flags)) {
- wants[v->code] = 1;
- gotvar = 1;
+ wants[v->code] = TRUE;
+ gotvar = TRUE;
} else {
v = ctl_getitem(kv, &valuep);
NTP_INSIST(NULL != v);
free_varlist(cs.kv_list);
return;
}
- wants[CC_MAXCODE + 1 + v->code] = 1;
- gotvar = 1;
+ wants[CC_MAXCODE + 1 + v->code] = TRUE;
+ gotvar = TRUE;
}
}
if (gotvar) {
for (i = 1; i <= CC_MAXCODE; i++)
if (wants[i])
- ctl_putclock(i, &cs, 1);
+ ctl_putclock(i, &cs, TRUE);
if (kv != NULL)
for (i = 0; !(EOV & kv[i].flags); i++)
if (wants[i + CC_MAXCODE + 1])
ctl_putdata(kv[i].text,
- strlen(kv[i].text), 0);
+ strlen(kv[i].text),
+ FALSE);
} else {
for (cc = def_clock_var; *cc != 0; cc++)
- ctl_putclock((int)*cc, &cs, 0);
+ ctl_putclock((int)*cc, &cs, FALSE);
for ( ; kv != NULL && !(EOV & kv->flags); kv++)
if (DEF & kv->flags)
ctl_putdata(kv->text, strlen(kv->text),
- 0);
+ FALSE);
}
free(wants);
ctlclkstatus(&cs));
for (i = 1; i <= CC_MAXCODE; i++)
- ctl_putclock(i, &cs, 0);
- for (kv = cs.kv_list; kv &&
- !(kv->flags & EOV); kv++)
- if (kv->flags & DEF)
+ ctl_putclock(i, &cs, FALSE);
+ for (kv = cs.kv_list;
+ kv != NULL && !(EOV & kv->flags);
+ kv++)
+ if (DEF & kv->flags)
ctl_putdata(kv->text,
- strlen(kv->text), 0);
+ strlen(kv->text),
+ FALSE);
free_varlist(cs.kv_list);
}
#endif /* REFCLOCK */
/*
* Initialize requested data
*/
- if (in != 0) {
+ if (in != NULL) {
if (in->haveflags & CLK_HAVETIME1)
pp->fudgetime1 = in->fudgetime1;
if (in->haveflags & CLK_HAVETIME2)
/*
* Readback requested data
*/
- if (out != 0) {
- out->haveflags = CLK_HAVETIME1 | CLK_HAVEVAL1 |
- CLK_HAVEVAL2 | CLK_HAVEFLAG4;
- out->fudgetime1 = pp->fudgetime1;
- out->fudgetime2 = pp->fudgetime2;
+ if (out != NULL) {
out->fudgeval1 = pp->stratum;
out->fudgeval2 = pp->refid;
+ out->haveflags = CLK_HAVEVAL1 | CLK_HAVEVAL2;
+ out->fudgetime1 = pp->fudgetime1;
+ if (0.0 != out->fudgetime1)
+ out->haveflags |= CLK_HAVETIME1;
+ out->fudgetime2 = pp->fudgetime2;
+ if (0.0 != out->fudgetime2)
+ out->haveflags |= CLK_HAVETIME2;
out->flags = (u_char) pp->sloppyclockflag;
+ if (CLK_FLAG1 & out->flags)
+ out->haveflags |= CLK_HAVEFLAG1;
+ if (CLK_FLAG2 & out->flags)
+ out->haveflags |= CLK_HAVEFLAG2;
+ if (CLK_FLAG3 & out->flags)
+ out->haveflags |= CLK_HAVEFLAG3;
+ if (CLK_FLAG4 & out->flags)
+ out->haveflags |= CLK_HAVEFLAG4;
out->timereset = current_time - pp->timestarted;
out->polls = pp->polls;