ctype.c 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * Copyright (c) 2008 Travis Geiselbrecht
  3. *
  4. * Permission is hereby granted, free of charge, to any person obtaining
  5. * a copy of this software and associated documentation files
  6. * (the "Software"), to deal in the Software without restriction,
  7. * including without limitation the rights to use, copy, modify, merge,
  8. * publish, distribute, sublicense, and/or sell copies of the Software,
  9. * and to permit persons to whom the Software is furnished to do so,
  10. * subject to the following conditions:
  11. *
  12. * The above copyright notice and this permission notice shall be
  13. * included in all copies or substantial portions of the Software.
  14. *
  15. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  16. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  17. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  18. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
  19. * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  20. * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  21. * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  22. */
  23. #include <ctype.h>
  24. #if 0
  25. /* XXX unimplemented for now */
  26. int iscntrl(int c);
  27. int isgraph(int c);
  28. int isprint(int c);
  29. int ispunct(int c);
  30. #endif
  31. int isblank(int c)
  32. {
  33. return (c == ' ' || c == '\t');
  34. }
  35. int isspace(int c)
  36. {
  37. return (c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v');
  38. }
  39. int islower(int c)
  40. {
  41. return ((c >= 'a') && (c <= 'z'));
  42. }
  43. int isupper(int c)
  44. {
  45. return ((c >= 'A') && (c <= 'Z'));
  46. }
  47. int isdigit(int c)
  48. {
  49. return ((c >= '0') && (c <= '9'));
  50. }
  51. int isalpha(int c)
  52. {
  53. return isupper(c) || islower(c);
  54. }
  55. int isalnum(int c)
  56. {
  57. return isalpha(c) || isdigit(c);
  58. }
  59. int isxdigit(int c)
  60. {
  61. return isdigit(c) || ((c >= 'a') && (c <= 'f')) || ((c >= 'A') && (c <= 'F'));
  62. }
  63. int tolower(int c)
  64. {
  65. if ((c >= 'A') && (c <= 'Z'))
  66. return c + ('a' - 'A');
  67. return c;
  68. }
  69. int toupper(int c)
  70. {
  71. if ((c >= 'a') && (c <= 'z'))
  72. return c + ('A' - 'a');
  73. return c;
  74. }