Create a tokenized string for MatchPattern()
Source position: amigados.pas line 2342
function ParsePattern( |
const Source: PChar; |
Dest: PChar; |
DestLength: LongInt |
):LongInt; |
Source |
|
Pattern describing the kind of strings that match. |
Dest |
|
Buffer for the destination. |
DestLength |
|
Size of the buffer. |
Tokenizes a pattern, for use by MatchPattern(). Also indicates if there are any wildcards in the pattern (i.e. whether it might match more than one item). Note that Dest must be at least 2 times as large as Source plus bytes to be (almost) 100% certain of no buffer overflow. This is because each input character can currently expand to 2 tokens (with one exception that can expand to 3, but only once per string). Note: this implementation may change in the future, so you should handle error returns in all cases, but the size above should still be a reasonable upper bound for a buffer allocation.
The patterns are fairly extensive, and approximate some of the ability of Unix/grep "regular expression" patterns. Here are the available tokens:
'Expression' in the above table means either a single character (ex: "#?"), or an alternation (ex: "#(ab|cd|ef)"), or a character class (ex: "#[a-zA-Z]").
|
Create a tokenized string for MatchPatternNoCase() |
|
|
Checks for a pattern match with a string |
|
|
Finds file that matches pattern |
|
|
Finds the next file or directory that matches pattern |