Ejemplo n.º 1
0
Rune*
runesmprint(char *fmt, ...)
{
	va_list args;
	Rune *p;

	va_start(args, fmt);
	p = runevsmprint(fmt, args);
	va_end(args);
	return p;
}
Ejemplo n.º 2
0
void
renderbytes(Bytes *b, char *fmt, ...)
{
	Rune *r;
	va_list arg;

	va_start(arg, fmt);
	r = runevsmprint(fmt, arg);
	va_end(arg);
	renderrunes(b, r);
	free(r);
}
Ejemplo n.º 3
0
void
cmdprint(char *fmt, ...)
{
	Rune *r;
	va_list va;
	
	va_start(va, fmt);
	r = runevsmprint(fmt, va);
	va_end(va);
	if(r != nil)
		cmdw->opoint += cmdinsert(cmdw, r, -1, cmdw->opoint);
}
Ejemplo n.º 4
0
void
warning(Mntdir *md, char *s, ...)
{
	Rune *r;
	va_list arg;

	va_start(arg, s);
	r = runevsmprint(s, arg);
	va_end(arg);
	if(r == nil)
		error("runevsmprint failed");
	addwarningtext(md, r, runestrlen(r));
	free(r);
}
Ejemplo n.º 5
0
void
addrefresh(Page *p, char *fmt, ...)
{
    Refresh *r;
    Rune *s;
    va_list arg;

    if(p->aborting)
        return;

    va_start(arg, fmt);
    s = runevsmprint(fmt, arg);
    va_end(arg);
    if(s == nil)
        error("runevsmprint failed");

    qlock(&refreshlock);
    if(p->status) {
        free(p->status);
        p->status = nil;
    }
    p->status = s;
    for(r=refreshs; r!=nil; r=r->next)
        if(r->p == p)
            goto Return;

    incref(p->w);				/* flushrefresh will decref */
    r = emalloc(sizeof(Refresh));
    r->p = p;
    r->next = refreshs;
    refreshs = r;

Return:
    nbsendp(crefresh, nil);
    qunlock(&refreshlock);
}