renamed Rule members, renamed RReg into Regexps 2e95bc04
Anselm R. Garbe · 2007-02-19 14:52 1 file(s) · +17 −17
manage.c +17 −17
16 16
/* static */
17 17
18 18
typedef struct {
19 -
	const char *clpattern;
20 -
	const char *tpattern;
19 +
	const char *prop;
20 +
	const char *tags;
21 21
	Bool isfloat;
22 22
} Rule;
23 23
24 24
typedef struct {
25 -
	regex_t *clregex;
26 -
	regex_t *tregex;
27 -
} RReg;
25 +
	regex_t *propregex;
26 +
	regex_t *tagregex;
27 +
} Regexps;
28 28
29 29
TAGS
30 30
RULES
31 31
32 -
static RReg *rreg = NULL;
32 +
static Regexps *regexps = NULL;
33 33
static unsigned int len = 0;
34 34
35 35
static Client *
77 77
	unsigned int i;
78 78
	regex_t *reg;
79 79
80 -
	if(rreg)
80 +
	if(regexps)
81 81
		return;
82 82
	len = sizeof rule / sizeof rule[0];
83 -
	rreg = emallocz(len * sizeof(RReg));
83 +
	regexps = emallocz(len * sizeof(Regexps));
84 84
	for(i = 0; i < len; i++) {
85 -
		if(rule[i].clpattern) {
85 +
		if(rule[i].prop) {
86 86
			reg = emallocz(sizeof(regex_t));
87 -
			if(regcomp(reg, rule[i].clpattern, REG_EXTENDED))
87 +
			if(regcomp(reg, rule[i].prop, REG_EXTENDED))
88 88
				free(reg);
89 89
			else
90 -
				rreg[i].clregex = reg;
90 +
				regexps[i].propregex = reg;
91 91
		}
92 -
		if(rule[i].tpattern) {
92 +
		if(rule[i].tags) {
93 93
			reg = emallocz(sizeof(regex_t));
94 -
			if(regcomp(reg, rule[i].tpattern, REG_EXTENDED))
94 +
			if(regcomp(reg, rule[i].tags, REG_EXTENDED))
95 95
				free(reg);
96 96
			else
97 -
				rreg[i].tregex = reg;
97 +
				regexps[i].tagregex = reg;
98 98
		}
99 99
	}
100 100
}
310 310
				ch.res_class ? ch.res_class : "",
311 311
				ch.res_name ? ch.res_name : "", c->name);
312 312
		for(i = 0; i < len; i++)
313 -
			if(rreg[i].clregex && !regexec(rreg[i].clregex, prop, 1, &tmp, 0)) {
313 +
			if(regexps[i].propregex && !regexec(regexps[i].propregex, prop, 1, &tmp, 0)) {
314 314
				c->isfloat = rule[i].isfloat;
315 -
				for(j = 0; rreg[i].tregex && j < ntags; j++) {
316 -
					if(!regexec(rreg[i].tregex, tags[j], 1, &tmp, 0)) {
315 +
				for(j = 0; regexps[i].tagregex && j < ntags; j++) {
316 +
					if(!regexec(regexps[i].tagregex, tags[j], 1, &tmp, 0)) {
317 317
						matched = True;
318 318
						c->tags[j] = True;
319 319
					}