btext = nextbtext;
void radioline(struct ctlpos *cp,               char *text, int id, int nacross, ...) {    RECT r;    va_list ap;    int group;    int i;    r.left = GAPBETWEEN; r.top = cp->ypos;    r.right = cp->width; r.bottom = STATICHEIGHT;    cp->ypos += r.bottom + GAPWITHIN;    doctl(cp, r, "STATIC", WS_CHILD | WS_VISIBLE, 0, text, id);    va_start(ap, nacross);    group = WS_GROUP;    i = 0;    while (1) {        char *btext;        int bid;        btext = va_arg(ap, char *);        if (!btext)            break;        bid = va_arg(ap, int);        r.left = GAPBETWEEN + i * (cp->width+GAPBETWEEN)/nacross;        r.right = (i+1) * (cp->width+GAPBETWEEN)/nacross - r.left;        r.top = cp->ypos; r.bottom = RADIOHEIGHT;        doctl(cp, r, "BUTTON",              BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP | group,              0,              btext, bid);        group = 0;        i++;    }    va_end(ap);    cp->ypos += r.bottom + GAPBETWEEN;}