applied Jukka's stdinread patch 27ef7350
arg@mig29 · 2006-11-26 13:31 1 file(s) · +3 −2
main.c +3 −2
274 274
				eprint("select failed\n");
275 275
		}
276 276
		if(FD_ISSET(STDIN_FILENO, &rd)) {
277 -
			switch(r = read(STDIN_FILENO, stext, sizeof(stext))) {
277 +
			switch(r = read(STDIN_FILENO, stext, sizeof(stext) - 1)) {
278 278
			case -1:
279 279
				strncpy(stext, strerror(errno), sizeof(stext));
280 +
				stext[sizeof(stext) - 1] = '\0';
280 281
				readin = False;
281 282
				break;
282 283
			case 0:
284 285
				readin = False;
285 286
				break;
286 287
			default:
287 -
				stext[r-1] = 0;
288 +
				stext[r - (stext[r - 1] == '\n' ? 1 : 0)] = '\0';
288 289
			}
289 290
			drawstatus();
290 291
		}