ansiCtype.c
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:15k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* ansiCtype.c - ANSI `ctype' documentation */
  2. /* Copyright 1992-1993 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,03mar93,jdi  more documentation cleanup for 5.1.
  7. 01b,07feb93,jdi  documentation cleanup for 5.1.
  8. 01a,24oct92,smb  written
  9. */
  10. /*
  11. DESCRIPTION
  12. The header ctype.h declares several functions useful for testing and
  13. mapping characters.  In all cases, the argument is an `int', the value of
  14. which is representable as an `unsigned char' or is equal to the
  15. value of the macro EOF.  If the argument has any other value, the
  16. behavior is undefined.
  17. The behavior of the 'ctype' functions is affected by the current locale.
  18. VxWorks supports only the "C" locale.
  19. The term "printing character" refers to a member of an implementation-defined
  20. set of characters, each of which occupies one printing position on a
  21. display device; the term "control character" refers to a member of an
  22. implementation-defined set of characters that are not printing characters.
  23. INCLUDE FILES: ctype.h
  24. SEE ALSO: American National Standard X3.159-1989
  25. */
  26. /* 
  27. INTERNAL DOCUMENTATION
  28.  If locale additions are necessary the arrays of unsigned char will
  29.    not be large enough. Type short should be used instead. Also two
  30.    extra character classifications will be needed. _C_EXTRA_SPACE and
  31.    _C_EXTRA_ALPHA.
  32.    Two extra tables may be necessary for completeness but at the moment they
  33.    are too large. Adding them is not difficult. The tables are defined in
  34.    __tolower_tab.c  __toupper_tab.c
  35.    extern  const unsigned char *_Tolower;
  36.    extern  const unsigned char *_Toupper;
  37.    __ctype_tab.c is a table of character classifications and is used to
  38.    determine to what class a character belongs.
  39. NOMANUAL
  40. INTERNAL
  41. This documentation module is built by appending the following files:
  42.     isalnum.c
  43.     isalpha.c
  44.     iscntrl.c
  45.     isdigit.c
  46.     isgraph.c
  47.     islower.c
  48.     isprint.c
  49.     ispunct.c
  50.     isspace.c
  51.     isupper.c
  52.     isxdigit.c
  53.     tolower.c
  54.     toupper.c
  55. */
  56. /* isalnum.c - character classification */
  57. /* Copyright 1992-1993 Wind River Systems, Inc. */
  58. /*
  59. modification history
  60. --------------------
  61. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  62. 01d,07feb93,jdi  documentation cleanup for 5.1.
  63. 01c,20sep92,smb  documentation additions.
  64. 01b,04jul92,smb  added vxWorks.h and extra documentation
  65. 01a,24mar92,smb  written
  66. */
  67. /*
  68. DESCRIPTION
  69. INCLUDE FILE: ctype.h
  70. SEE ALSO: American National Standard X3.159-1989
  71. NOMANUAL
  72. */
  73. #include "vxWorks.h"
  74. #include "ctype.h"
  75. #undef isalnum
  76. /*******************************************************************************
  77. *
  78. * isalnum - test whether a character is alphanumeric (ANSI)
  79. *
  80. * This routine tests whether <c> is a character for which isalpha() or
  81. * isdigit() returns true.
  82. *
  83. * INCLUDE FILES: ctype.h
  84. *
  85. * RETURNS: Non-zero if and only if <c> is alphanumeric.
  86. */
  87. int isalnum 
  88.     (
  89.     int c       /* character to test */
  90.     )
  91.     {
  92.     return __isalnum(c);
  93.     }
  94. /* isalpha.c - character classification and conversion macros */
  95. /* Copyright 1992-1993 Wind River Systems, Inc. */
  96. /*
  97. modification history
  98. --------------------
  99. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  100. 01d,07feb93,jdi  documentation cleanup for 5.1.
  101. 01c,20sep92,smb  documentation additions.
  102. 01b,04jul92,smb  added vxWorks.h and extra documentation
  103. 01a,24mar92,smb  written
  104. */
  105. /*
  106. DESCRIPTION
  107. INCLUDE FILE: ctype.h
  108. SEE ALSO: American National Standard X3.159-1989
  109. NOMANUAL
  110. */
  111. #include "vxWorks.h"
  112. #include "ctype.h"
  113. #undef isalpha
  114. /*******************************************************************************
  115. *
  116. * isalpha - test whether a character is a letter (ANSI)
  117. *
  118. * This routine tests whether <c> is a character 
  119. * for which isupper() or islower() returns true.
  120. *
  121. * INCLUDE FILES: ctype.h
  122. *
  123. * RETURNS: Non-zero if and only if <c> is a letter.
  124. */
  125. int isalpha 
  126.     (
  127.     int c       /* character to test */
  128.     )
  129.     {
  130.     return __isalpha(c);
  131.     }
  132. /* iscntrl.c - character classification */
  133. /* Copyright 1992-1993 Wind River Systems, Inc. */
  134. /*
  135. modification history
  136. --------------------
  137. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  138. 01d,07feb93,jdi  documentation cleanup for 5.1.
  139. 01c,20sep92,smb  documentation additions
  140. 01b,04jul92,smb  added vxWorks.h and extra documentation
  141. 01a,24mar92,smb  written
  142. */
  143. /*
  144. DESCRIPTION
  145. INCLUDE FILE: ctype.h
  146. SEE ALSO: American National Standard X3.159-1989
  147. NOMANUAL
  148. */
  149. #include "vxWorks.h"
  150. #include "ctype.h"
  151. #undef iscntrl
  152. /*******************************************************************************
  153. *
  154. * iscntrl - test whether a character is a control character (ANSI)
  155. *
  156. * This routine tests whether <c> is a control character.
  157. *
  158. * INCLUDE FILES: ctype.h
  159. *
  160. * RETURNS: Non-zero if and only if <c> is a control character.
  161. */
  162. int iscntrl 
  163.     (
  164.     int c       /* character to test */
  165.     )
  166.     {
  167.     return __iscntrl(c);
  168.     }
  169. /* isdigit.c - character classification */
  170. /* Copyright 1992-1993 Wind River Systems, Inc. */
  171. /*
  172. modification history
  173. --------------------
  174. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  175. 01d,07feb93,jdi  documentation cleanup for 5.1.
  176. 01c,20sep92,smb  documentation additions
  177. 01b,04jul92,smb  added vxWorks.h and extra documentation
  178. 01a,24mar92,smb  written
  179. */
  180. /*
  181. DESCRIPTION
  182. INCLUDE FILE: ctype.h
  183. SEE ALSO: American National Standard X3.159-1989
  184. NOMANUAL
  185. */
  186. #include "vxWorks.h"
  187. #include "ctype.h"
  188. #undef isdigit
  189. /*******************************************************************************
  190. *
  191. * isdigit - test whether a character is a decimal digit (ANSI)
  192. *
  193. * This routine tests whether <c> is a decimal-digit character.
  194. *
  195. * INCLUDE FILES: ctype.h
  196. *
  197. * RETURNS: Non-zero if and only if <c> is a decimal digit.
  198. */
  199. int isdigit 
  200.     (
  201.     int c       /* character to test */
  202.     )
  203.     {
  204.     return __isdigit(c);
  205.     }
  206. /* isgraph.c - character classification and conversion macros */
  207. /* Copyright 1992-1993 Wind River Systems, Inc. */
  208. /*
  209. modification history
  210. --------------------
  211. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  212. 01d,07feb93,jdi  documentation cleanup for 5.1.
  213. 01c,20sep92,smb  documentation additions
  214. 01b,04jul92,smb  added vxWorks.h and extra documentation
  215. 01a,24mar92,smb  
  216. */
  217. /*
  218. DESCRIPTION
  219. INCLUDE FILE: ctype.h
  220. SEE ALSO: American National Standard X3.159-1989
  221. NOMANUAL
  222. */
  223. #include "vxWorks.h"
  224. #include "ctype.h"
  225. #undef isgraph
  226. /*******************************************************************************
  227. *
  228. * isgraph - test whether a character is a printing, non-white-space character (ANSI)
  229. *
  230. * This routine returns true if <c> is a printing character, and not a
  231. * character for which isspace() returns true.
  232. *
  233. * INCLUDE FILES: ctype.h
  234. *
  235. * RETURNS:
  236. * Non-zero if and only if <c> is a printable, non-white-space character.
  237. *
  238. * SEE ALSO: isspace()
  239. */
  240. int isgraph 
  241.     (
  242.     int c       /* character to test */
  243.     )
  244.     {
  245.     return __isgraph(c); 
  246.     }
  247. /* islower.c - character conversion macros */
  248. /* Copyright 1992-1993 Wind River Systems, Inc. */
  249. /*
  250. modification history
  251. --------------------
  252. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  253. 01d,07feb93,jdi  documentation cleanup for 5.1.
  254. 01c,20sep92,smb  documentation additions
  255. 01b,04jul92,smb  added vxWorks.h and extra documentation
  256. 01a,24mar92,smb  written
  257. */
  258. /*
  259. DESCRIPTION
  260. INCLUDE FILE: ctype.h
  261. SEE ALSO: American National Standard X3.159-1989
  262. NOMANUAL
  263. */
  264. #include "vxWorks.h"
  265. #include "ctype.h"
  266. #undef islower
  267. /*******************************************************************************
  268. *
  269. * islower - test whether a character is a lower-case letter (ANSI)
  270. *
  271. * This routine tests whether <c> is a lower-case letter.
  272. *
  273. * INCLUDE FILES: ctype.h
  274. *
  275. * RETURNS: Non-zero if and only if <c> is a lower-case letter.
  276. */
  277. int islower 
  278.     (
  279.     int c       /* character to test */
  280.     )
  281.     {
  282.     return __islower(c);
  283.     }
  284. /* isprint.c - character classification and conversion macros */
  285. /* Copyright 1992-1993 Wind River Systems, Inc. */
  286. /*
  287. modification history
  288. --------------------
  289. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  290. 01d,07feb93,jdi  documentation cleanup for 5.1.
  291. 01c,20sep92,smb  documentation additions
  292. 01b,04jul92,smb  added vxWorks.h and extra documentation
  293. 01a,24mar92,smb  written
  294. */
  295. /*
  296. DESCRIPTION
  297. INCLUDE FILE: ctype.h
  298. SEE ALSO: American National Standard X3.159-1989
  299. NOMANUAL
  300. */
  301. #include "vxWorks.h"
  302. #include "ctype.h"
  303. #undef isprint
  304. /*******************************************************************************
  305. *
  306. * isprint - test whether a character is printable, including the space character (ANSI)
  307. *
  308. * This routine returns true if <c> is a printing character or the space
  309. * character.
  310. *
  311. * INCLUDE FILES: ctype.h
  312. *
  313. * RETURNS: Non-zero if and only if <c> is printable, including the space
  314. * character.
  315. */
  316. int isprint 
  317.     (
  318.     int c       /* character to test */
  319.     )
  320.     {
  321.     return __isprint(c);
  322.     }
  323. /* ispunct.c - character classification and conversion macros */
  324. /* Copyright 1992-1993 Wind River Systems, Inc. */
  325. /*
  326. modification history
  327. --------------------
  328. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  329. 01d,07feb93,jdi  documentation cleanup for 5.1.
  330. 01c,20sep92,smb  documentation additions
  331. 01b,04jul92,smb  added vxWorks.h and extra documentation
  332. 01a,24mar92,smb  written
  333. */
  334. /*
  335. DESCRIPTION
  336. INCLUDE FILE: ctype.h
  337. SEE ALSO: American National Standard X3.159-1989
  338. NOMANUAL
  339. */
  340. #include "vxWorks.h"
  341. #include "ctype.h"
  342. #undef ispunct
  343. /*******************************************************************************
  344. *
  345. * ispunct - test whether a character is punctuation (ANSI)
  346. *
  347. * This routine tests whether a character is punctuation, i.e., a printing
  348. * character for which neither isspace() nor isalnum() is true.
  349. *
  350. * INCLUDE FILES: ctype.h
  351. *
  352. * RETURNS: Non-zero if and only if <c> is a punctuation character.
  353. */
  354. int ispunct 
  355.     (
  356.     int c       /* character to test */
  357.     )
  358.     {
  359.     return __ispunct(c);
  360.     }
  361. /* isspace.c - character classification and conversion macros */
  362. /* Copyright 1992-1993 Wind River Systems, Inc. */
  363. /*
  364. modification history
  365. --------------------
  366. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  367. 01d,07feb93,jdi  documentation cleanup for 5.1.
  368. 01c,20sep92,smb  documentation additions
  369. 01b,04jul92,smb  added vxWorks.h and extra documentation
  370. 01a,24mar92,smb  written
  371. */
  372. /*
  373. DESCRIPTION
  374. INCLUDE FILE: ctype.h
  375. SEE ALSO: American National Standard X3.159-1989
  376. NOMANUAL
  377. */
  378. #include "vxWorks.h"
  379. #include "ctype.h"
  380. #undef isspace
  381. /*******************************************************************************
  382. *
  383. * isspace - test whether a character is a white-space character (ANSI)
  384. *
  385. * This routine tests whether a character is one of
  386. * the standard white-space characters, as follows:
  387. * .TS
  388. * tab(|);
  389. * l l.
  390. *         space           | ""
  391. *         horizontal tab  | et
  392. *         vertical tab    | ev
  393. *         carriage return | er
  394. *         new-line        | en
  395. *         form-feed       | ef
  396. * .TE
  397. *
  398. * INCLUDE FILES: ctype.h
  399. *
  400. * RETURNS: Non-zero if and only if <c> is a space, tab, carriage return,
  401. * new-line, or form-feed character.
  402. */
  403. int isspace 
  404.     (
  405.     int c       /* character to test */
  406.     )
  407.     {
  408.     return __isspace(c);
  409.     }
  410. /* isupper.c - character classification and conversion macros */
  411. /* Copyright 1992-1993 Wind River Systems, Inc. */
  412. /*
  413. modification history
  414. --------------------
  415. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  416. 01d,07feb93,jdi  documentation cleanup for 5.1.
  417. 01c,20sep92,smb  documentation additions
  418. 01b,04jul92,smb  added vxWorks.h and extra documentation
  419. 01a,24mar92,smb  written
  420. */
  421. /*
  422. DESCRIPTION
  423. INCLUDE FILE: ctype.h
  424. SEE ALSO: American National Standard X3.159-1989
  425. NOMANUAL
  426. */
  427. #include "vxWorks.h"
  428. #include "ctype.h"
  429. #undef isupper
  430. /*******************************************************************************
  431. *
  432. * isupper - test whether a character is an upper-case letter (ANSI)
  433. *
  434. * This routine tests whether <c> is an upper-case letter.
  435. *
  436. * INCLUDE FILES: ctype.h
  437. *
  438. * RETURNS: Non-zero if and only if <c> is an upper-case letter.
  439. *
  440. */
  441. int isupper 
  442.     (
  443.     int c       /* character to test */
  444.     )
  445.     {
  446.     return __isupper(c);
  447.     }
  448. /* isxdigit.c - character classification and conversion macros */
  449. /* Copyright 1992-1993 Wind River Systems, Inc. */
  450. /*
  451. modification history
  452. --------------------
  453. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  454. 01d,07feb93,jdi  documentation cleanup for 5.1.
  455. 01c,20sep92,smb  documentation additions
  456. 01b,04jul92,smb  added vxWorks.h and extra documentation
  457. 01a,24mar92,smb  written
  458. */
  459. /*
  460. DESCRIPTION
  461. INCLUDE FILE: ctype.h
  462. SEE ALSO: American National Standard X3.159-1989
  463. NOMANUAL
  464. */
  465. #include "vxWorks.h"
  466. #include "ctype.h"
  467. #undef isxdigit
  468. /*******************************************************************************
  469. *
  470. * isxdigit - test whether a character is a hexadecimal digit (ANSI)
  471. *
  472. * This routine tests whether <c> is a hexadecimal-digit character.
  473. *
  474. * INCLUDE FILES: ctype.h
  475. *
  476. * RETURNS: Non-zero if and only if <c> is a hexadecimal digit.
  477. */
  478. int isxdigit 
  479.     (
  480.     int c       /* character to test */
  481.     )
  482.     {
  483.     return __isxdigit(c);
  484.     }
  485. /* tolower.c - character classification and conversion macros */
  486. /* Copyright 1992-1993 Wind River Systems, Inc. */
  487. /*
  488. modification history
  489. --------------------
  490. 01f,03mar93,jdi  more documentation cleanup for 5.1.
  491. 01e,07feb93,jdi  documentation cleanup for 5.1.
  492. 01d,13oct92,jdi  mangen fixes.
  493. 01c,20sep92,smb  documentation additions
  494. 01b,04jul92,smb  added vxWorks.h and extra documentation
  495. 01a,24mar92,smb  written
  496. */
  497. /*
  498. DESCRIPTION
  499. INCLUDE FILE: ctype.h
  500. SEE ALSO: American National Standard X3.159-1989
  501. NOMANUAL
  502. */
  503. #include "vxWorks.h"
  504. #include "ctype.h"
  505. #undef tolower
  506. /*******************************************************************************
  507. *
  508. * tolower - convert an upper-case letter to its lower-case equivalent (ANSI)
  509. *
  510. * This routine converts an upper-case letter to the corresponding lower-case
  511. * letter.
  512. *
  513. * INCLUDE FILES: ctype.h
  514. *
  515. * RETURNS:
  516. * If <c> is an upper-case letter, it returns the lower-case equivalent;
  517. * otherwise, it returns the argument unchanged.
  518. */
  519. int tolower 
  520.     (
  521.     int c       /* character to convert */
  522.     )
  523.     {
  524.     return __tolower(c);
  525.     }
  526. /* toupper.c - character classification and conversion macros */
  527. /* Copyright 1992-1993 Wind River Systems, Inc. */
  528. /*
  529. modification history
  530. --------------------
  531. 01e,03mar93,jdi  more documentation cleanup for 5.1.
  532. 01d,07feb93,jdi  documentation cleanup for 5.1.
  533. 01c,20sep92,smb  documentation additions
  534. 01b,04jul92,smb  added vxWorks.h and extra documentation
  535. 01a,24mar92,smb  written
  536. */
  537. /*
  538. DESCRIPTION
  539. INCLUDE FILE: ctype.h
  540. SEE ALSO: American National Standard X3.159-1989
  541. NOMANUAL
  542. */
  543. #include "vxWorks.h"
  544. #include "ctype.h"
  545. #undef toupper
  546. /*******************************************************************************
  547. *
  548. * toupper - convert a lower-case letter to its upper-case equivalent (ANSI)
  549. *
  550. * This routine converts a lower-case letter to the corresponding upper-case
  551. * letter.
  552. *
  553. * INCLUDE FILES: ctype.h
  554. *
  555. * RETURNS:
  556. * If <c> is a lower-case letter, it returns the upper-case equivalent;
  557. * otherwise, it returns the argument unchanged.
  558. */
  559. int toupper 
  560.     (
  561.     int c       /* character to convert */
  562.     )
  563.     {
  564.     return __toupper(c);
  565.     }