use buffer instead of pointer for mon->ltsymbol c45d46ad
Anselm R Garbe · 2009-09-22 09:53 1 file(s) · +5 −8
dwm.c +5 −8
121 121
} Layout;
122 122
123 123
struct Monitor {
124 -
	const char *ltsymbol;
124 +
	char ltsymbol[16];
125 125
	float mfact;
126 126
	int num;
127 127
	int by;               /* bar geometry */
386 386
		showhide(m->stack);
387 387
	focus(NULL);
388 388
	for(m = mons; m; m = m->next) {
389 -
		m->ltsymbol = m->lt[m->sellt]->symbol;
389 +
		strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol);
390 390
		if(m->lt[m->sellt]->arrange)
391 391
			m->lt[m->sellt]->arrange(m);
392 392
		restack(m);
605 605
	m->topbar = topbar;
606 606
	m->lt[0] = &layouts[0];
607 607
	m->lt[1] = &layouts[1 % LENGTH(layouts)];
608 -
	m->ltsymbol = layouts[0].symbol;
608 +
	strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol);
609 609
	return m;
610 610
}
611 611
1163 1163
1164 1164
void
1165 1165
monocle(Monitor *m) {
1166 -
	static char ntext[8];
1167 1166
	unsigned int n = 0;
1168 1167
	Client *c;
1169 1168
1170 1169
	for(c = m->clients; c; c = c->next)
1171 1170
		if(ISVISIBLE(c))
1172 1171
			n++;
1173 -
	if(n > 0) { /* override layout symbol */
1174 -
		snprintf(ntext, sizeof ntext, "[%d]", n);
1175 -
		m->ltsymbol = ntext;
1176 -
	}
1172 +
	if(n > 0) /* override layout symbol */
1173 +
		snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n);
1177 1174
	for(c = nexttiled(m->clients); c; c = nexttiled(c->next))
1178 1175
		resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, False);
1179 1176
}