Subject: isprint() and isblank()
To: None <tech-userlevel@netbsd.org>
From: Jun-ichiro itojun Hagino <itojun@iijlab.net>
List: tech-userlevel
Date: 01/21/2001 02:15:40
	related to PR 11993.

	ISO/IEC 9899:1999(E) tells us the following.

	The current NetBSD declaration of C locale (lib/libc/gen/ctype_.c)
	is incorrect about isblank('\t').  i think we should correct it.
	it is very easy, just make isblank('\t') from false to true.

	next, if you look at /usr/include/ctype.h, it says like this:
>#define isprint(c)      ((int)((_ctype_ + 1)[(int)(c)] & (_P|_U|_L|_N|_B)))
	_B is the flag bit for isblank.  so any value "x" that makes isblank(x)
	to true, will make isprint(x) to true.  so isprint('\t') becomes true.
	is it correct?  if not, i intend to correct it too.

itojun


isblank
	(blah blah) The standard blank characters are the following:
	space (' '), and horizontal tab ('\t').  In the "C" locale, isblank
	returns true only for the standard blank characters.

isprint
	The isprint function tests for any printing character including space
	(' ')