9 static int linebuf_sane(GlobalData *g)
11 return (g->linelen < g->linemax);
15 void line_clear(GlobalData *g)
17 assert(g->linemax > 0);
23 line_append_str(g, "[");
27 void line_append_strn(GlobalData *g, char *string, size_t len)
29 assert(linebuf_sane(g));
31 if (g->linemax <= g->linelen + len) {
32 /* Buffer full. Tough luck. */
36 memcpy(&g->line[g->linelen], string, len);
38 g->line[g->linelen] = '\0';
42 void line_append_str(GlobalData *g, char *string)
44 line_append_strn(g, string, strlen(string));
49 void line_append_item(GlobalData *g, StatusItem *s)
51 if (g->firstItemDone) {
52 line_append_str(g, ",");
56 line_append_str(g, "{");
59 line_append_str(g, "\"color\":\"");
60 line_append_str(g, s->color);
61 line_append_str(g, "\",");
64 line_append_str(g, "\"full_text\":\"");
66 line_append_str(g, s->text);
67 line_append_str(g, "\"");
69 line_append_str(g, "}");
73 void line_print(GlobalData *g)
75 line_append_str(g, "],");
80 void statusitem_init(StatusItem *s)