home *** CD-ROM | disk | FTP | other *** search
/ MACD 4 / MACD4.iso / Emulatory / AROS / clib / ctype.c < prev    next >
Encoding:
C/C++ Source or Header  |  1978-03-06  |  10.0 KB  |  432 lines

  1. /*
  2.     (C) 1995-96 AROS - The Amiga Replacement OS
  3.     $Id: ctype.c,v 1.1 1996/10/15 15:40:30 digulla Exp $
  4.  
  5.     Desc: Arrays for ctype.h
  6.     Lang: english
  7. */
  8. #include <ctype.h>
  9.  
  10. const unsigned short int __ctype_b_array[384] =
  11. {
  12.     /* -128 */
  13.  
  14.     0,0,0,0, 0,0,0,0,
  15.     0,0,0,0, 0,0,0,0,
  16.     0,0,0,0, 0,0,0,0,
  17.     0,0,0,0, 0,0,0,0,
  18.  
  19.     0,0,0,0, 0,0,0,0,
  20.     0,0,0,0, 0,0,0,0,
  21.     0,0,0,0, 0,0,0,0,
  22.     0,0,0,0, 0,0,0,0,
  23.  
  24.     0,0,0,0, 0,0,0,0,
  25.     0,0,0,0, 0,0,0,0,
  26.     0,0,0,0, 0,0,0,0,
  27.     0,0,0,0, 0,0,0,0,
  28.  
  29.     0,0,0,0, 0,0,0,0,
  30.     0,0,0,0, 0,0,0,0,
  31.     0,0,0,0, 0,0,0,0,
  32.     0,0,0,0, 0,0,0,0,
  33.  
  34.     /* 0 */
  35.  
  36.     _IScntrl,_IScntrl,_IScntrl,_IScntrl,
  37.     _IScntrl,_IScntrl,
  38.     _IScntrl|_ISprint, /* Bell */
  39.     _IScntrl|_ISprint, /* BackSpace */
  40.     _IScntrl|_ISprint, /* Tab */
  41.     _IScntrl|_ISprint|_ISspace, /* LineFeed */
  42.     _IScntrl|_ISprint|_ISspace, /* Vertical Tab */
  43.     _IScntrl|_ISprint|_ISspace, /* FormFeed */
  44.     _IScntrl|_ISprint|_ISspace, /* Carriage Return */
  45.     _IScntrl,_IScntrl,_IScntrl,
  46.     _IScntrl,_IScntrl,_IScntrl,_IScntrl,
  47.     _IScntrl,_IScntrl,_IScntrl,_IScntrl,
  48.     _IScntrl,_IScntrl,_IScntrl,_IScntrl,
  49.     _IScntrl,_IScntrl,_IScntrl,_IScntrl,
  50.  
  51.     _ISspace|_ISprint|_ISblank, /* ´ ´ */
  52.     _ISprint|_ISgraph|_ISpunct, /* ´!´ */
  53.     _ISprint|_ISgraph, /* ´"´ */
  54.     _ISprint, /* ´#´ */
  55.  
  56.     _ISprint, /* ´$´ */
  57.     _ISprint, /* ´%´ */
  58.     _ISprint, /* ´&´ */
  59.     _ISprint, /* ´´´ */
  60.  
  61.     _ISprint, /* ´(´ */
  62.     _ISprint, /* ´)´ */
  63.     _ISprint, /* ´*´ */
  64.     _ISprint, /* ´+´ */
  65.  
  66.     _ISprint|_ISpunct, /* ´,´ */
  67.     _ISprint, /* ´-´ */
  68.     _ISprint|_ISpunct, /* ´.´ */
  69.     _ISprint, /* ´/´ */
  70.  
  71.     _ISprint|_ISdigit|_ISxdigit, /* ´0´ */
  72.     _ISprint|_ISdigit|_ISxdigit, /* ´1´ */
  73.     _ISprint|_ISdigit|_ISxdigit, /* ´2´ */
  74.     _ISprint|_ISdigit|_ISxdigit, /* ´3´ */
  75.  
  76.     _ISprint|_ISdigit|_ISxdigit, /* ´4´ */
  77.     _ISprint|_ISdigit|_ISxdigit, /* ´5´ */
  78.     _ISprint|_ISdigit|_ISxdigit, /* ´6´ */
  79.     _ISprint|_ISdigit|_ISxdigit, /* ´7´ */
  80.  
  81.     _ISprint|_ISdigit|_ISxdigit, /* ´8´ */
  82.     _ISprint|_ISdigit|_ISxdigit, /* ´9´ */
  83.     _ISprint|_ISpunct, /* ´:´ */
  84.     _ISprint|_ISpunct, /* ´;´ */
  85.  
  86.     _ISprint, /* ´<´ */
  87.     _ISprint, /* ´>´ */
  88.     _ISprint, /* ´=´ */
  89.     _ISprint|_ISpunct, /* ´?´ */
  90.  
  91.     _ISprint, /* ´@´ */
  92.     _ISupper|_ISprint|_ISxdigit|_ISalpha, /* ´A´ */
  93.     _ISupper|_ISprint|_ISxdigit|_ISalpha, /* ´B´ */
  94.     _ISupper|_ISprint|_ISxdigit|_ISalpha, /* ´C´ */
  95.  
  96.     _ISupper|_ISprint|_ISxdigit|_ISalpha, /* ´D´ */
  97.     _ISupper|_ISprint|_ISxdigit|_ISalpha, /* ´E´ */
  98.     _ISupper|_ISprint|_ISxdigit|_ISalpha, /* ´F´ */
  99.     _ISupper|_ISprint|_ISalpha, /* ´G´ */
  100.  
  101.     _ISupper|_ISprint|_ISalpha, /* ´H´ */
  102.     _ISupper|_ISprint|_ISalpha, /* ´I´ */
  103.     _ISupper|_ISprint|_ISalpha, /* ´J´ */
  104.     _ISupper|_ISprint|_ISalpha, /* ´K´ */
  105.  
  106.     _ISupper|_ISprint|_ISalpha, /* ´L´ */
  107.     _ISupper|_ISprint|_ISalpha, /* ´M´ */
  108.     _ISupper|_ISprint|_ISalpha, /* ´N´ */
  109.     _ISupper|_ISprint|_ISalpha, /* ´O´ */
  110.  
  111.     _ISupper|_ISprint|_ISalpha, /* ´P´ */
  112.     _ISupper|_ISprint|_ISalpha, /* ´Q´ */
  113.     _ISupper|_ISprint|_ISalpha, /* ´R´ */
  114.     _ISupper|_ISprint|_ISalpha, /* ´S´ */
  115.  
  116.     _ISupper|_ISprint|_ISalpha, /* ´T´ */
  117.     _ISupper|_ISprint|_ISalpha, /* ´U´ */
  118.     _ISupper|_ISprint|_ISalpha, /* ´V´ */
  119.     _ISupper|_ISprint|_ISalpha, /* ´W´ */
  120.  
  121.     _ISupper|_ISprint|_ISalpha, /* ´X´ */
  122.     _ISupper|_ISprint|_ISalpha, /* ´Y´ */
  123.     _ISupper|_ISprint|_ISalpha, /* ´Z´ */
  124.     _ISprint, /* ´[´ */
  125.  
  126.     _ISprint, /* ´\´ */
  127.     _ISprint, /* ´]´ */
  128.     _ISprint, /* ´^´ */
  129.     _ISprint, /* ´_´ */
  130.  
  131.     _ISprint, /* ´`´ */
  132.     _ISlower|_ISprint|_ISxdigit|_ISalpha, /* ´a´ */
  133.     _ISlower|_ISprint|_ISxdigit|_ISalpha, /* ´b´ */
  134.     _ISlower|_ISprint|_ISxdigit|_ISalpha, /* ´c´ */
  135.  
  136.     _ISlower|_ISprint|_ISxdigit|_ISalpha, /* ´d´ */
  137.     _ISlower|_ISprint|_ISxdigit|_ISalpha, /* ´e´ */
  138.     _ISlower|_ISprint|_ISxdigit|_ISalpha, /* ´f´ */
  139.     _ISlower|_ISprint|_ISalpha, /* ´g´ */
  140.  
  141.     _ISlower|_ISprint|_ISalpha, /* ´h´ */
  142.     _ISlower|_ISprint|_ISalpha, /* ´i´ */
  143.     _ISlower|_ISprint|_ISalpha, /* ´j´ */
  144.     _ISlower|_ISprint|_ISalpha, /* ´k´ */
  145.  
  146.     _ISlower|_ISprint|_ISalpha, /* ´l´ */
  147.     _ISlower|_ISprint|_ISalpha, /* ´m´ */
  148.     _ISlower|_ISprint|_ISalpha, /* ´n´ */
  149.     _ISlower|_ISprint|_ISalpha, /* ´o´ */
  150.  
  151.     _ISlower|_ISprint|_ISalpha, /* ´p´ */
  152.     _ISlower|_ISprint|_ISalpha, /* ´q´ */
  153.     _ISlower|_ISprint|_ISalpha, /* ´r´ */
  154.     _ISlower|_ISprint|_ISalpha, /* ´s´ */
  155.  
  156.     _ISlower|_ISprint|_ISalpha, /* ´t´ */
  157.     _ISlower|_ISprint|_ISalpha, /* ´u´ */
  158.     _ISlower|_ISprint|_ISalpha, /* ´v´ */
  159.     _ISlower|_ISprint|_ISalpha, /* ´x´ */
  160.  
  161.     _ISlower|_ISprint|_ISalpha, /* ´x´ */
  162.     _ISlower|_ISprint|_ISalpha, /* ´y´ */
  163.     _ISlower|_ISprint|_ISalpha, /* ´z´ */
  164.     _ISprint, /* ´{´ */
  165.  
  166.     _ISprint, /* ´|´ */
  167.     _ISprint, /* ´}´ */
  168.     _ISprint, /* ´~´ */
  169.     _IScntrl, /* Delete */
  170.  
  171.     /* 128 */
  172.  
  173.     0,0,0,0, 0,0,0,0,
  174.     0,0,0,0, 0,0,0,0,
  175.     0,0,0,0, 0,0,0,0,
  176.     0,0,0,0, 0,0,0,0,
  177.  
  178.     /* 160 */
  179.  
  180.     0, /* ´ ´ */
  181.     0, /* ´¡´ */
  182.     0, /* ´¢´ */
  183.     0, /* ´£´ */
  184.     0, /* ´¤´ */
  185.     0, /* ´¥´ */
  186.     0, /* ´¦´ */
  187.     0, /* ´§´ */
  188.     0, /* ´¨´ */
  189.     0, /* ´©´ */
  190.     0, /* ´ª´ */
  191.     0, /* ´«´ */
  192.     0, /* ´¬´ */
  193.     0, /* ´­´ */
  194.     0, /* ´®´ */
  195.     0, /* ´¯´ */
  196.     0, /* ´°´ */
  197.     0, /* ´±´ */
  198.     0, /* ´²´ */
  199.     0, /* ´³´ */
  200.     0, /* ´´´ */
  201.     0, /* ´µ´ */
  202.     0, /* ´¶´ */
  203.     0, /* ´·´ */
  204.     0, /* ´¸´ */
  205.     0, /* ´¹´ */
  206.     0, /* ´º´ */
  207.     0, /* ´»´ */
  208.     0, /* ´¼´ */
  209.     0, /* ´½´ */
  210.     0, /* ´¾´ */
  211.     0, /* ´¿´ */
  212.     0, /* ´À´ */
  213.     0, /* ´Á´ */
  214.     0, /* ´Â´ */
  215.     0, /* ´Ã´ */
  216.     0, /* ´Ä´ */
  217.     0, /* ´Å´ */
  218.     0, /* ´Æ´ */
  219.     0, /* ´Ç´ */
  220.     0, /* ´È´ */
  221.     0, /* ´É´ */
  222.     0, /* ´Ê´ */
  223.     0, /* ´Ë´ */
  224.     0, /* ´Ì´ */
  225.     0, /* ´Í´ */
  226.     0, /* ´Î´ */
  227.     0, /* ´Ï´ */
  228.     0, /* ´Ð´ */
  229.     0, /* ´Ñ´ */
  230.     0, /* ´Ò´ */
  231.     0, /* ´Ó´ */
  232.     0, /* ´Ô´ */
  233.     0, /* ´Õ´ */
  234.     0, /* ´Ö´ */
  235.     0, /* ´×´ */
  236.     0, /* ´Ø´ */
  237.     0, /* ´Ù´ */
  238.     0, /* ´Ú´ */
  239.     0, /* ´Û´ */
  240.     0, /* ´Ü´ */
  241.     0, /* ´Ý´ */
  242.     0, /* ´Þ´ */
  243.     0, /* ´ß´ */
  244.     0, /* ´à´ */
  245.     0, /* ´á´ */
  246.     0, /* ´â´ */
  247.     0, /* ´ã´ */
  248.     0, /* ´ä´ */
  249.     0, /* ´å´ */
  250.     0, /* ´æ´ */
  251.     0, /* ´ç´ */
  252.     0, /* ´è´ */
  253.     0, /* ´é´ */
  254.     0, /* ´ê´ */
  255.     0, /* ´ë´ */
  256.     0, /* ´ì´ */
  257.     0, /* ´í´ */
  258.     0, /* ´î´ */
  259.     0, /* ´ï´ */
  260.     0, /* ´ð´ */
  261.     0, /* ´ñ´ */
  262.     0, /* ´ò´ */
  263.     0, /* ´ó´ */
  264.     0, /* ´ô´ */
  265.     0, /* ´õ´ */
  266.     0, /* ´ö´ */
  267.     0, /* ´÷´ */
  268.     0, /* ´ø´ */
  269.     0, /* ´ù´ */
  270.     0, /* ´ú´ */
  271.     0, /* ´û´ */
  272.     0, /* ´ü´ */
  273.     0, /* ´ý´ */
  274.     0, /* ´þ´ */
  275.     0, /* ´ÿ´ */
  276.  
  277.     /* 256 */
  278. };
  279.  
  280. const int __ctype_toupper_array[384] =
  281. {
  282.     /* -128 */
  283.  
  284.     0,0,0,0, 0,0,0,0,
  285.     0,0,0,0, 0,0,0,0,
  286.     0,0,0,0, 0,0,0,0,
  287.     0,0,0,0, 0,0,0,0,
  288.  
  289.     0,0,0,0, 0,0,0,0,
  290.     0,0,0,0, 0,0,0,0,
  291.     0,0,0,0, 0,0,0,0,
  292.     0,0,0,0, 0,0,0,0,
  293.  
  294.     0,0,0,0, 0,0,0,0,
  295.     0,0,0,0, 0,0,0,0,
  296.     0,0,0,0, 0,0,0,0,
  297.     0,0,0,0, 0,0,0,0,
  298.  
  299.     0,0,0,0, 0,0,0,0,
  300.     0,0,0,0, 0,0,0,0,
  301.     0,0,0,0, 0,0,0,0,
  302.     0,0,0,0, 0,0,0,-1,
  303.  
  304.     /* 0 */
  305.  
  306.     0,1,2,3, 4,5,6,7,
  307.     8,9,10,11, 12,13,14,15,
  308.     16,17,18,19, 20,21,22,23,
  309.     24,25,26,27, 28,29,30,31,
  310.  
  311.     ' ','!','"','#', '$','%','&','\'',
  312.     '(',')','*','+', ',','-','.','/',
  313.     '0','1','2','3', '4','5','6','7',
  314.     '8','9',':',';', '<','>','=','?',
  315.  
  316.     '@','A','B','C', 'D','E','F','G',
  317.     'H','I','J','K', 'L','M','N','O',
  318.     'P','Q','R','S', 'T','U','V','W',
  319.     'X','Y','Z','[', '\\',']','^','_',
  320.  
  321.     '`','A','B','C', 'D','E','F','G',
  322.     'H','I','J','K', 'L','M','N','O',
  323.     'P','Q','R','S', 'T','U','V','W',
  324.     'X','Y','Z','{', '|','}','~',127,
  325.  
  326.     /* 128 */
  327.  
  328.     128,129,130,131, 132,133,134,135,
  329.     136,137,138,139, 140,141,142,143,
  330.     144,145,146,147, 148,149,150,151,
  331.     152,153,154,155, 156,157,158,159,
  332.  
  333.     /* 160 */
  334.  
  335.     ' ', '¡', '¢', '£', '¤', '¥', '¦', '§',
  336.     '¨', '©', 'ª', '«', '¬', '­', '®', '¯',
  337.     '°', '±', '²', '³', '´', 'µ', '¶', '·',
  338.     '¸', '¹', 'º', '»', '¼', '½', '¾', '¿',
  339.  
  340.     'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç',
  341.     'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï',
  342.     'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×',
  343.     'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß',
  344.  
  345.     'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç',
  346.     'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï',
  347.     'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '÷',
  348.     'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ÿ',
  349.  
  350.     /* 256 */
  351. };
  352.  
  353. const int __ctype_tolower_array[384] =
  354. {
  355.     /* -128 */
  356.  
  357.     0,0,0,0, 0,0,0,0,
  358.     0,0,0,0, 0,0,0,0,
  359.     0,0,0,0, 0,0,0,0,
  360.     0,0,0,0, 0,0,0,0,
  361.  
  362.     0,0,0,0, 0,0,0,0,
  363.     0,0,0,0, 0,0,0,0,
  364.     0,0,0,0, 0,0,0,0,
  365.     0,0,0,0, 0,0,0,0,
  366.  
  367.     0,0,0,0, 0,0,0,0,
  368.     0,0,0,0, 0,0,0,0,
  369.     0,0,0,0, 0,0,0,0,
  370.     0,0,0,0, 0,0,0,0,
  371.  
  372.     0,0,0,0, 0,0,0,0,
  373.     0,0,0,0, 0,0,0,0,
  374.     0,0,0,0, 0,0,0,0,
  375.     0,0,0,0, 0,0,0,-1,
  376.  
  377.     /* 0 */
  378.  
  379.     0,1,2,3, 4,5,6,7,
  380.     8,9,10,11, 12,13,14,15,
  381.     16,17,18,19, 20,21,22,23,
  382.     24,25,26,27, 28,29,30,31,
  383.  
  384.     ' ','!','"','#', '$','%','&','\'',
  385.     '(',')','*','+', ',','-','.','/',
  386.     '0','1','2','3', '4','5','6','7',
  387.     '8','9',':',';', '<','>','=','?',
  388.  
  389.     '@','a','b','c', 'd','e','f','g',
  390.     'h','i','j','k', 'l','m','n','o',
  391.     'p','q','r','s', 't','u','v','w',
  392.     'x','y','z','[', '\\',']','^','_',
  393.  
  394.     '`','a','b','c', 'd','e','f','g',
  395.     'h','i','j','k', 'l','m','n','o',
  396.     'p','q','r','s', 't','u','v','w',
  397.     'x','y','z','{', '|','}','~',127,
  398.  
  399.     /* 128 */
  400.  
  401.     128,129,130,131, 132,133,134,135,
  402.     136,137,138,139, 140,141,142,143,
  403.     144,145,146,147, 148,149,150,151,
  404.     152,153,154,155, 156,157,158,159,
  405.  
  406.     /* 160 */
  407.  
  408.     ' ', '¡', '¢', '£', '¤', '¥', '¦', '§',
  409.     '¨', '©', 'ª', '«', '¬', '­', '®', '¯',
  410.     '°', '±', '²', '³', '´', 'µ', '¶', '·',
  411.     '¸', '¹', 'º', '»', '¼', '½', '¾', '¿',
  412.  
  413.     'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç',
  414.     'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï',
  415.     'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '×',
  416.     'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ß',
  417.  
  418.     'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç',
  419.     'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï',
  420.     'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷',
  421.     'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ',
  422.  
  423.     /* 256 */
  424. };
  425.  
  426.  
  427. const unsigned short int * __ctype_b       = &__ctype_b_array[128];
  428.  
  429. const int * __ctype_toupper = &__ctype_toupper_array[128];
  430. const int * __ctype_tolower = &__ctype_tolower_array[128];
  431.  
  432.