Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dthelp / parser / pass2 / util / upcmp8.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: upcmp8.c /main/3 1995/11/08 11:09:12 rswiston $ */
24 /*
25                    Copyright 1986, 1987, 1988, 1989 Hewlett-Packard Co.
26 */
27
28 /* Compare uppercase versions of two strings of eight-bit characters */
29
30 #include <stdio.h>
31 #include "basic.h"
32 #include "common.h"
33 extern M_CHARTYPE m_ctarray[256] ;
34
35 int m_wcupstrcmp(
36 #if defined(M_PROTO)
37   const M_WCHAR *p, const M_WCHAR *q
38 #endif
39   ) ;
40
41 int m_wcmbupstrcmp(
42 #if defined(M_PROTO)
43   const M_WCHAR *p, const char *q
44 #endif
45   ) ;
46
47 int m_mbmbupstrcmp(
48 #if defined(M_PROTO)
49   const char *p, const char *q
50 #endif
51   ) ;
52
53 #if defined(M_PROTO)
54 int m_wcupstrcmp(const M_WCHAR *p, const M_WCHAR *q )
55 #else
56 int m_wcupstrcmp(p, q)
57   M_WCHAR *p, *q ;
58 #endif /* M_PROTO */
59   {
60     do {
61       if (m_ctupper(*p) < m_ctupper(*q)) return(-1) ;
62       if (m_ctupper(*p) > m_ctupper(*q)) return(1) ;
63       q++ ;
64       } while (*p++) ;
65     return(0) ;
66     }
67
68 #if defined(M_PROTO)
69 int m_wcmbupstrcmp(const M_WCHAR *p, const char *q)
70 #else
71 int m_wcmbupstrcmp(p, q)
72   M_WCHAR *p;
73   char *q ;
74 #endif
75   {
76   M_WCHAR *wc;
77   int      retval;
78
79   wc = MakeWideCharString(q);
80   retval = m_wcupstrcmp(p, wc);
81   m_free(wc,"wide character string");
82   return retval;
83   }
84
85 #if defined(M_PROTO)
86 int m_mbmbupstrcmp(const char *p, const char *q)
87 #else
88 int m_mbmbupstrcmp(p, q)
89   char *p;
90   char *q ;
91 #endif
92   {
93   M_WCHAR *w_p, *w_q;
94   int      retval;
95
96   w_p = MakeWideCharString(p);
97   w_q = MakeWideCharString(q);
98   retval = m_wcupstrcmp(w_p, w_q);
99   m_free(w_p,"wide character string");
100   m_free(w_q,"wide character string");
101   return retval;
102   }