X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/4eb24e3afad8d039e4dca20fb337977f0e436957..b165006759a81e8ecc4e86e0540fd69343ea46e9:/wildcard.c diff --git a/wildcard.c b/wildcard.c index 999dfdec..ae8bad80 100644 --- a/wildcard.c +++ b/wildcard.c @@ -10,6 +10,8 @@ #include #include +#include "putty.h" + /* * Definition of wildcard syntax: * @@ -28,6 +30,17 @@ */ /* + * Some notes on differences from POSIX globs (IEEE Std 1003.1, 2003 ed.): + * - backslashes act as escapes even within [] bracket expressions + * - does not support [!...] for non-matching list (POSIX are weird); + * NB POSIX allows [^...] as well via "A bracket expression starting + * with an unquoted circumflex character produces unspecified + * results". If we wanted to allow [!...] we might want to define + * [^!] as having its literal meaning (match '^' or '!'). + * - none of the scary [[:class:]] stuff, etc + */ + +/* * The wildcard matching technique we use is very simple and * potentially O(N^2) in running time, but I don't anticipate it * being that bad in reality (particularly since N will be the size @@ -54,7 +67,7 @@ enum { WC_TRAILINGBACKSLASH = 1, WC_UNCLOSEDCLASS, - WC_INVALIDRANGE, + WC_INVALIDRANGE }; /*