str: New str_matchx function optionally reports possible prefix.
[mLib] / man / str.3
index 24a983c..1d442ca 100644 (file)
--- a/man/str.3
+++ b/man/str.3
@@ -18,6 +18,7 @@ str \- small string utilities
 .\" @str_qsplit
 .\" @str_getword
 .\" @str_split
+.\" @str_matchx
 .\" @str_match
 .\" @str_sanitize
 .SH SYNOPSIS
@@ -29,6 +30,7 @@ str \- small string utilities
 .BI "                  char **" rest ", unsigned " f );
 .BI "char *str_getword(char **" pp );
 .BI "size_t str_split(char *" p ", char *" v "[], size_t " c ", char **" rest );
+.BI "int str_matchx(const char *" p ", const char *" s ", unsigned " f );
 .BI "int str_match(const char *" p ", const char *" s );
 .BI "void str_sanitize(char *" d ", const char *" p ", size_t " sz );
 .fi
@@ -107,7 +109,7 @@ respectively; they are equivalent to calls to the latter functions with
 flags words of zero.
 .PP
 The
-.B str_match
+.B str_matchx
 function does simple wildcard matching.  The first argument is a
 pattern, which may contain metacharacters:
 .RB ` * '
@@ -134,7 +136,17 @@ of the set.  The return value is nonzero if the pattern
 .I p
 matches the given string
 .IR s ,
-or zero if the pattern doesn't match.
+or zero if the pattern doesn't match.  If the flag
+.B STRF_PREFIX
+is passed,
+.B str_matchx
+returns true if it reaches the end of the target string before finding a
+mismatch \(en i.e., if the target string is a prefix of a string which
+might match the pattern.  The function
+.B str_match
+is a convenient wrapper for
+.B str_matchx
+with a zero flags word, which is the normal case.
 .PP
 The function
 .B str_sanitize