1 /***********************************************************************
2 *                                                                      *
3 *               This software is part of the ast package               *
4 *          Copyright (c) 2003-2011 AT&T Intellectual Property          *
5 *                      and is licensed under the                       *
6 *                 Eclipse Public License, Version 1.0                  *
7 *                    by AT&T Intellectual Property                     *
8 *                                                                      *
9 *                A copy of the License is available at                 *
10 *          http://www.eclipse.org/org/documents/epl-v10.html           *
11 *         (with md5 checksum b35adb5213ca9657e911e9befb180842)         *
12 *                                                                      *
13 *              Information and Software Systems Research               *
14 *                            AT&T Research                             *
15 *                           Florham Park NJ                            *
16 *                                                                      *
17 *                 Glenn Fowler <gsf@research.att.com>                  *
18 *                  David Korn <dgk@research.att.com>                   *
19 *                   Phong Vo <kpv@research.att.com>                    *
20 *                                                                      *
21 ***********************************************************************/
22 #pragma prototyped
23 
24 /*
25  * codex method name comparison
26  * strcmp() semantics
27  */
28 
29 #include <codex.h>
30 
31 int
codexcmp(register const char * s,register const char * t)32 codexcmp(register const char* s, register const char* t)
33 {
34 	for (;;)
35 	{
36 		if (!*s)
37 		{
38 			if (!*t || *t == '-' || *t == '+' || *t == '<' || *t == '>' || *t == '|' || *t == '^')
39 				return 0;
40 			break;
41 		}
42 		if (!*t)
43 		{
44 			if (*s == '-' || *s == '+' || *s == '<' || *s == '>' || *s == '|' || *s == '^')
45 				return 0;
46 			break;
47 		}
48 		if (*s != *t)
49 			break;
50 		s++;
51 		t++;
52 	}
53 	return *((unsigned char*)s) - *((unsigned char*)t);
54 }
55