diff options
| -rw-r--r-- | client.c | 4 | ||||
| -rw-r--r-- | draw.c | 4 | ||||
| -rw-r--r-- | event.c | 4 | ||||
| -rw-r--r-- | main.c | 14 | ||||
| -rw-r--r-- | tag.c | 4 | 
5 files changed, 16 insertions, 14 deletions
| @@ -361,12 +361,12 @@ updatetitle(Client *c) {  	if(!name.nitems)  		return;  	if(name.encoding == XA_STRING) -		strncpy(c->name, (char *)name.value, sizeof(c->name)); +		strncpy(c->name, (char *)name.value, sizeof c->name);  	else {  		if(XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success  				&& n > 0 && *list)  		{ -			strncpy(c->name, *list, sizeof(c->name)); +			strncpy(c->name, *list, sizeof c->name);  			XFreeStringList(list);  		}  	} @@ -43,8 +43,8 @@ drawtext(const char *text, unsigned long col[ColLast], Bool ldot, Bool rdot) {  		return;  	w = 0;  	olen = len = strlen(text); -	if(len >= sizeof(buf)) -		len = sizeof(buf) - 1; +	if(len >= sizeof buf) +		len = sizeof buf - 1;  	memcpy(buf, text, len);  	buf[len] = 0;  	h = dc.font.ascent + dc.font.descent; @@ -244,7 +244,7 @@ expose(XEvent *e) {  static void  keypress(XEvent *e) { -	static unsigned int len = sizeof(key) / sizeof(key[0]); +	static unsigned int len = sizeof key / sizeof key[0];  	unsigned int i;  	KeySym keysym;  	XKeyEvent *ev = &e->xkey; @@ -355,7 +355,7 @@ void (*handler[LASTEvent]) (XEvent *) = {  void  grabkeys(void) { -	static unsigned int len = sizeof(key) / sizeof(key[0]); +	static unsigned int len = sizeof key / sizeof key[0];  	unsigned int i;  	KeyCode code; @@ -227,6 +227,7 @@ xerror(Display *dpy, XErrorEvent *ee) {  int  main(int argc, char *argv[]) { +	char *p;  	int r, xfd;  	fd_set rd; @@ -270,22 +271,23 @@ main(int argc, char *argv[]) {  		if(select(xfd + 1, &rd, NULL, NULL, NULL) == -1) {  			if(errno == EINTR)  				continue; -			else -				eprint("select failed\n"); +			eprint("select failed\n");  		}  		if(FD_ISSET(STDIN_FILENO, &rd)) { -			switch(r = read(STDIN_FILENO, stext, sizeof(stext) - 1)) { +			switch(r = read(STDIN_FILENO, stext, sizeof stext - 1)) {  			case -1: -				strncpy(stext, strerror(errno), sizeof(stext)); -				stext[sizeof(stext) - 1] = '\0'; +				strncpy(stext, strerror(errno), sizeof stext - 1);  				readin = False;  				break;  			case 0: -				strncpy(stext, "EOF", sizeof(stext)); +				strncpy(stext, "EOF", sizeof stext);  				readin = False;  				break;  			default:  				stext[r - (stext[r - 1] == '\n' ? 1 : 0)] = '\0'; +				for(p = stext + strlen(stext) - 1; p > stext && *p != '\n'; --p); +				if(p > stext) +					strncpy(stext, p + 1, sizeof stext);  			}  			drawstatus();  		} @@ -50,7 +50,7 @@ initrregs(void) {  	if(rreg)  		return; -	len = sizeof(rule) / sizeof(rule[0]); +	len = sizeof rule / sizeof rule[0];  	rreg = emallocz(len * sizeof(RReg));  	for(i = 0; i < len; i++) {  		if(rule[i].clpattern) { @@ -83,7 +83,7 @@ settags(Client *c, Client *trans) {  			c->tags[i] = trans->tags[i];  	}  	else if(XGetClassHint(dpy, c->win, &ch)) { -		snprintf(prop, sizeof(prop), "%s:%s:%s", +		snprintf(prop, sizeof prop, "%s:%s:%s",  				ch.res_class ? ch.res_class : "",  				ch.res_name ? ch.res_name : "", c->name);  		for(i = 0; !matched && i < len; i++) |