1 /***********************************************************************
3 * This software is part of the ast package *
4 * Copyright (c) 1985-2010 AT&T Intellectual Property *
5 * and is licensed under the *
6 * Common Public License, Version 1.0 *
7 * by AT&T Intellectual Property *
9 * A copy of the License is available at *
10 * http://www.opensource.org/licenses/cpl1.0.txt *
11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
13 * Information and Software Systems Research *
17 * Glenn Fowler <gsf@research.att.com> *
18 * David Korn <dgk@research.att.com> *
19 * Phong Vo <kpv@research.att.com> *
21 ***********************************************************************/
25 * AT&T Bell Laboratories
27 * time conversion support
35 * match s against t ignoring case and .'s
37 * suf is an n element table of suffixes that may trail s
38 * if all isalpha() chars in s match then 1 is returned
39 * and if e is non-null it will point to the first unmatched
40 * char in s, otherwise 0 is returned
44 tmword(register const char* s
, char** e
, register const char* t
, char** suf
, int n
)
56 if (!isalpha(c
) || c
!= *t
&& (islower(c
) ? toupper(c
) : tolower(c
)) != *t
)
70 if (!*t
&& s
> (b
+ 1))
73 while (n
-- && (t
= *suf
++))
76 while (isalpha(c
= *s
++) && (c
== *t
|| (islower(c
) ? toupper(c
) : tolower(c
)) == *t
)) t
++;
77 if (!*t
&& !isalpha(c
))