home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / LANGUAGS / C / EBCDIC.C < prev    next >
Text File  |  2000-06-30  |  3KB  |  67 lines

  1. char ebcasc(str, count)
  2. char *str;
  3. unsigned count;
  4.     {
  5.     static char asc[256] = {0, 
  6.         1, 2, 3, '.', 9, '.', 0x7f, '.', '.', /* 0  */
  7.         '.', 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, /* 10 */
  8.         '.', '.', 8, '.', 0x18, 0x19, '.', '.', 28 , 29 , /* 20 */
  9.         30 , 31 , '.', '.', '.', '.', '.', 0xa, 23 , 27 , /* 30 */
  10.         '.', '.', '.', '.', '.', 5  , 0x6, 0x7, '.', '.', /* 40 */
  11.         22 , '.', '.', '.', '.', 4  , '.', '.', '.', '.', /* 50 */
  12.         20 , 21 , '.', 26 , ' ', '.', '.', '.', '.', '.', /* 60 */
  13.         '.', '.', '.', '.', '[', '.', '<', '(', '+', '!', /* 70 */
  14.         '&', '.', '.', '.', '.', '.', '.', '.', '.', '.', /* 80 */
  15.         ']', '$', '*', ')', ';', '^', '-', '/', '.', '.', /* 90 */
  16.         '.', '.', '.', '.', '.', '.', '|', ',', '%', '_', /* 100 */
  17.         '>', '?', '.', '.', '.', '.', '.', '.', '.', '.', /* 110 */
  18.         '.', '.', ':', '#', '@', '\'', '=', '"', '.', 'a', /* 120 */
  19.         'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', '.', '.', /* 130 */
  20.         '.', '.', '.', '.', '.', 'j', 'k', 'l', 'm', 'n', /* 140 */
  21.         'o', 'p', 'q', 'r', '.', '.', '.', '.', '.', '.', /* 150 */
  22.         '.', '~', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', /* 160 */
  23.         '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', /* 170 */
  24.         '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', /* 180 */
  25.         '.', '.', '{', 'A', 'B', 'C', 'D', 'E', 'F', 'G', /* 190 */
  26.         'H', 'I', '.', '.', '.', '.', '.', '.', '}', 'J', /* 200 */
  27.         'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', '.', '.', /* 210 */
  28.         '.', '.', '.', '.', '\\', '.', 'S', 'T', 'U', 'V', /* 220 */
  29.         'W', 'X', 'Y', 'Z', '.', '.', '.', '.', '.', '.', /* 230 */
  30.         '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', /* 240 */
  31.         '.', '.', '.', '.', '.', '.'};    /* 250 */
  32.     while (count--)
  33.         {
  34.         *str = asc[*str];
  35.         ++str;
  36.         }
  37.     }
  38.  
  39. int ascebc(str, count)
  40. char *str;
  41. unsigned count;
  42.     {
  43.     static char ebc[128] = {0, 
  44.     1,2,3,55,45,46,47,
  45.     22,5,37,11,12,13,14,15,
  46.     16,17,18,19,60,61,50,38,
  47.     24,25,63,39,28,29,30,31,
  48.     64,79,127,123,91,108,80,125,
  49.     77,93,92,78,107,96,75,97,
  50.     240,241,242,243,244,245,246,247,
  51.     248,249,122,94,76,126,110,111,
  52.     124,193,194,195,196,197,198,199,
  53.     200,201,209,210,211,212,213,214,
  54.     215,216,217,226,227,228,229,230,
  55.     231,232,233,74,224,90,95,109,
  56.     75,129,130,131,132,133,134,135,
  57.     136,137,145,146,147,148,149,150,
  58.     151,152,153,162,163,164,165,166,
  59.     167,168,169,192,106,208,161,7
  60.         };
  61.     while (count--)
  62.         {
  63.         *str = ebc[*str];
  64.         ++str;
  65.         }
  66.     }
  67.