tag.c
changeset 581 601842ee4484
parent 573 797e27162b43
child 594 f7dcd3ac8d6f
equal deleted inserted replaced
580:e9001b0f53bc 581:601842ee4484
    48 	unsigned int i;
    48 	unsigned int i;
    49 	regex_t *reg;
    49 	regex_t *reg;
    50 
    50 
    51 	if(rreg)
    51 	if(rreg)
    52 		return;
    52 		return;
    53 	len = sizeof(rule) / sizeof(rule[0]);
    53 	len = sizeof rule / sizeof rule[0];
    54 	rreg = emallocz(len * sizeof(RReg));
    54 	rreg = emallocz(len * sizeof(RReg));
    55 	for(i = 0; i < len; i++) {
    55 	for(i = 0; i < len; i++) {
    56 		if(rule[i].clpattern) {
    56 		if(rule[i].clpattern) {
    57 			reg = emallocz(sizeof(regex_t));
    57 			reg = emallocz(sizeof(regex_t));
    58 			if(regcomp(reg, rule[i].clpattern, 0))
    58 			if(regcomp(reg, rule[i].clpattern, 0))
    81 	if(matched) {
    81 	if(matched) {
    82 		for(i = 0; i < ntags; i++)
    82 		for(i = 0; i < ntags; i++)
    83 			c->tags[i] = trans->tags[i];
    83 			c->tags[i] = trans->tags[i];
    84 	}
    84 	}
    85 	else if(XGetClassHint(dpy, c->win, &ch)) {
    85 	else if(XGetClassHint(dpy, c->win, &ch)) {
    86 		snprintf(prop, sizeof(prop), "%s:%s:%s",
    86 		snprintf(prop, sizeof prop, "%s:%s:%s",
    87 				ch.res_class ? ch.res_class : "",
    87 				ch.res_class ? ch.res_class : "",
    88 				ch.res_name ? ch.res_name : "", c->name);
    88 				ch.res_name ? ch.res_name : "", c->name);
    89 		for(i = 0; !matched && i < len; i++)
    89 		for(i = 0; !matched && i < len; i++)
    90 			if(rreg[i].clregex && !regexec(rreg[i].clregex, prop, 1, &tmp, 0)) {
    90 			if(rreg[i].clregex && !regexec(rreg[i].clregex, prop, 1, &tmp, 0)) {
    91 				c->isfloat = rule[i].isfloat;
    91 				c->isfloat = rule[i].isfloat;