STkeyMatch


Routine

int STkeyMatch (const char String[], const char *KeyTable[])

Purpose

Match a string to keyword strings

Description

This subroutine searches a table for a match to a character string. The table of keywords is searched for the first match. The keyword table can optionally specify the minimum length for a match and a length beyond which characters need no longer match. The keywords are searched in order.

Each entry of the keyword table specifies the character string to be matched. An optional asterisk ('*') is used to indicate the minimum number of characters needed for a match. A second asterisk can be used to indicate that characters after this point need not match.

Example:
Keyword table entry "abc*de*f". Input strings "abc", "abcd", "abcde", and "abcdex" will match this entry. Input strings "ab", "abC" " abc" and "abcx" do not match this entry.

Parameters

<- int STkeyMatch
Index of the matched keyword. This value is set to -1 if no match is found.
  -1 - No match
   0 - Match to the first keyword
   1 - Match to the second keyword
       ...
-> const char String[]
Input character string. If String is the NULL pointer, a no match condition is returned.
-> const char *KeyTable[]
Pointer array with pointers to the keyword strings. The end of the keyword table is signalled with a NULL pointer. Note that with ANSI C, if the actual parameter is not declared to have the const attribute, an explicit cast to (const char **) is required.

Author / revision

P. Kabal / Revision 1.18 2003/05/09

See Also

STfindToken, STkeyXpar


Main Index libtsp