Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dtksh / ksh93 / src / lib / libast / string / mematoe.c
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: mematoe.c /main/3 1995/11/01 18:46:20 rswiston $ */
24 /***************************************************************
25 *                                                              *
26 *                      AT&T - PROPRIETARY                      *
27 *                                                              *
28 *         THIS IS PROPRIETARY SOURCE CODE LICENSED BY          *
29 *                          AT&T CORP.                          *
30 *                                                              *
31 *                Copyright (c) 1995 AT&T Corp.                 *
32 *                     All Rights Reserved                      *
33 *                                                              *
34 *           This software is licensed by AT&T Corp.            *
35 *       under the terms and conditions of the license in       *
36 *       http://www.research.att.com/orgs/ssr/book/reuse        *
37 *                                                              *
38 *               This software was created by the               *
39 *           Software Engineering Research Department           *
40 *                    AT&T Bell Laboratories                    *
41 *                                                              *
42 *               For further information contact                *
43 *                     gsf@research.att.com                     *
44 *                                                              *
45 ***************************************************************/
46
47 /* : : generated by proto : : */
48
49 #if !defined(__PROTO__)
50 #if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
51 #if defined(__cplusplus)
52 #define __MANGLE__      "C"
53 #else
54 #define __MANGLE__
55 #endif
56 #define __STDARG__
57 #define __PROTO__(x)    x
58 #define __OTORP__(x)
59 #define __PARAM__(n,o)  n
60 #if !defined(__STDC__) && !defined(__cplusplus)
61 #if !defined(c_plusplus)
62 #define const
63 #endif
64 #define signed
65 #define void            int
66 #define volatile
67 #define __V_            char
68 #else
69 #define __V_            void
70 #endif
71 #else
72 #define __PROTO__(x)    ()
73 #define __OTORP__(x)    x
74 #define __PARAM__(n,o)  o
75 #define __MANGLE__
76 #define __V_            char
77 #define const
78 #define signed
79 #define void            int
80 #define volatile
81 #endif
82 #if defined(__cplusplus) || defined(c_plusplus)
83 #define __VARARG__      ...
84 #else
85 #define __VARARG__
86 #endif
87 #if defined(__STDARG__)
88 #define __VA_START__(p,a)       va_start(p,a)
89 #else
90 #define __VA_START__(p,a)       va_start(p)
91 #endif
92 #endif
93 #include <ast.h>
94
95 /*
96  * this is an ASCII to EBCDIC conversion table
97  * from a proposed BTL standard April 16, 1979
98  */
99
100 static unsigned char atoe[] =
101 {
102     0000,0001,0002,0003,0067,0055,0056,0057,
103     0026,0005,0045,0013,0014,0015,0016,0017,
104     0020,0021,0022,0023,0074,0075,0062,0046,
105     0030,0031,0077,0047,0034,0035,0036,0037,
106     0100,0132,0177,0173,0133,0154,0120,0175,
107     0115,0135,0134,0116,0153,0140,0113,0141,
108     0360,0361,0362,0363,0364,0365,0366,0367,
109     0370,0371,0172,0136,0114,0176,0156,0157,
110     0174,0301,0302,0303,0304,0305,0306,0307,
111     0310,0311,0321,0322,0323,0324,0325,0326,
112     0327,0330,0331,0342,0343,0344,0345,0346,
113     0347,0350,0351,0255,0340,0275,0232,0155,
114     0171,0201,0202,0203,0204,0205,0206,0207,
115     0210,0211,0221,0222,0223,0224,0225,0226,
116     0227,0230,0231,0242,0243,0244,0245,0246,
117     0247,0250,0251,0300,0117,0320,0137,0007,
118     0040,0041,0042,0043,0044,0025,0006,0027,
119     0050,0051,0052,0053,0054,0011,0012,0033,
120     0060,0061,0032,0063,0064,0065,0066,0010,
121     0070,0071,0072,0073,0004,0024,0076,0341,
122     0101,0102,0103,0104,0105,0106,0107,0110,
123     0111,0121,0122,0123,0124,0125,0126,0127,
124     0130,0131,0142,0143,0144,0145,0146,0147,
125     0150,0151,0160,0161,0162,0163,0164,0165,
126     0166,0167,0170,0200,0212,0213,0214,0215,
127     0216,0217,0220,0152,0233,0234,0235,0236,
128     0237,0240,0252,0253,0254,0112,0256,0257,
129     0260,0261,0262,0263,0264,0265,0266,0267,
130     0270,0271,0272,0273,0274,0241,0276,0277,
131     0312,0313,0314,0315,0316,0317,0332,0333,
132     0334,0335,0336,0337,0352,0353,0354,0355,
133     0356,0357,0372,0373,0374,0375,0376,0377,
134 };
135
136 /*
137  * convert n bytes of ASCII ip to EBCDIC in op
138  * ip==op is ok
139  */
140
141 void
142 mematoe __PARAM__((__V_* aop, const __V_* aip, register size_t n), (aop, aip, n)) __OTORP__(__V_* aop; const __V_* aip; register size_t n;){
143         register unsigned char*         op = (unsigned char*)aop;
144         register const unsigned char*   ip = (const unsigned char*)aip;
145
146         while (n-- > 0) *op++ = atoe[*ip++];
147 }