Просмотр исходного кода

LibC: Add support for isblank()

Gunnar Beutner 4 лет назад
Родитель
Сommit
3df7f868e8
2 измененных файлов с 13 добавлено и 0 удалено
  1. 6 0
      Userland/Libraries/LibC/ctype.cpp
  2. 7 0
      Userland/Libraries/LibC/ctype.h

+ 6 - 0
Userland/Libraries/LibC/ctype.cpp

@@ -119,6 +119,12 @@ int isascii(int c)
     return ((unsigned)c <= 127);
 }
 
+#undef isblank
+int isblank(int c)
+{
+    return __inline_isblank(c);
+}
+
 #undef toascii
 int toascii(int c)
 {

+ 7 - 0
Userland/Libraries/LibC/ctype.h

@@ -102,6 +102,11 @@ static inline int __inline_isupper(int c)
     return _ctype_[(unsigned char)(c)] & (_U);
 }
 
+static inline int __inline_isblank(int c)
+{
+    return _ctype_[(unsigned char)(c)] & (_B) || (c == '\t');
+}
+
 static inline int __inline_toascii(int c)
 {
     return c & 127;
@@ -137,6 +142,7 @@ int isprint(int c);
 int isgraph(int c);
 int islower(int c);
 int isupper(int c);
+int isblank(int c);
 int toascii(int c);
 int tolower(int c);
 int toupper(int c);
@@ -156,6 +162,7 @@ int toupper(int c);
 #define isgraph __inline_isgraph
 #define islower __inline_islower
 #define isupper __inline_isupper
+#define isblank __inline_isblank
 #define toascii __inline_toascii
 #define tolower __inline_tolower
 #define toupper __inline_toupper