/* error_context: * Print the last 2 "token"s seen. */ static void error_context(void) { agxbclear(state.xb); if (state.prevtoklen > 0) agxbput_n(state.xb, state.prevtok, state.prevtoklen); agxbput_n(state.xb, state.currtok, state.currtoklen); agerr(AGPREV, "... %s ...\n", agxbuse(state.xb)); }
static void global_def(agxbuf* xb, char *dcl, int kind, attrsym_t * ((*dclfun) (Agraph_t *, int kind, char *, char *)) ) { char *p; char *rhs = "true"; attrsym_t *sym; if ((p = strchr(dcl, '='))) { agxbput_n (xb, dcl, p-dcl); rhs = p+1; } else agxbput (xb, dcl); sym = dclfun(NULL, kind, agxbuse (xb), rhs); sym->fixed = 1; }
/* agxbput: * Append string s into xb */ int agxbput(agxbuf * xb, const char *s) { unsigned int ssz = strlen(s); return agxbput_n(xb, s, ssz); }