#include <stdlib.h>
#include <string.h>
+#include "putty.h"
+
/*
* Definition of wildcard syntax:
*
* - All other characters are non-special and match themselves.
*/
+/*
+ * 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
wildcard++;
}
}
- *output = '\0';
+ if (output)
+ *output = '\0';
return 1; /* it's clean */
}