iswspace.c raw

   1  #include <wchar.h>
   2  #include <wctype.h>
   3  
   4  /* Our definition of whitespace is the Unicode White_Space property,
   5   * minus non-breaking spaces (U+00A0, U+2007, and U+202F) and script-
   6   * specific characters with non-blank glyphs (U+1680 and U+180E). */
   7  
   8  int iswspace(wint_t wc)
   9  {
  10  	static const wchar_t spaces[] = {
  11  		' ', '\t', '\n', '\r', 11, 12,  0x0085,
  12  		0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005,
  13  		0x2006, 0x2008, 0x2009, 0x200a,
  14  		0x2028, 0x2029, 0x205f, 0x3000, 0
  15  	};
  16  	return wc && wcschr(spaces, wc);
  17  }
  18  
  19  int __iswspace_l(wint_t c, locale_t l)
  20  {
  21  	return iswspace(c);
  22  }
  23  
  24  weak_alias(__iswspace_l, iswspace_l);
  25