summaryrefslogtreecommitdiff
path: root/Src/zsh.h
diff options
context:
space:
mode:
authorPeter Stephenson <p.w.stephenson@ntlworld.com>2015-09-28 20:31:51 +0100
committerPeter Stephenson <p.w.stephenson@ntlworld.com>2015-09-28 20:31:51 +0100
commitf9d7651c2554bb5db0373f63185ff358f795ab3c (patch)
tree0fa56b15a92ad8b2f1cb69140bcce4f969780b03 /Src/zsh.h
parenta5cb918d4018bbd5cdc8751e5c9f4f55f0a211be (diff)
downloadzsh-f9d7651c2554bb5db0373f63185ff358f795ab3c.tar.gz
zsh-f9d7651c2554bb5db0373f63185ff358f795ab3c.zip
36682: expand pattern interface to optimise unmetafication
Diffstat (limited to 'Src/zsh.h')
-rw-r--r--Src/zsh.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/Src/zsh.h b/Src/zsh.h
index dd0596116..32f2e0cb2 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -491,6 +491,7 @@ typedef struct options *Options;
typedef struct optname *Optname;
typedef struct param *Param;
typedef struct paramdef *Paramdef;
+typedef struct patstralloc *Patstralloc;
typedef struct patprog *Patprog;
typedef struct prepromptfn *Prepromptfn;
typedef struct process *Process;
@@ -1470,6 +1471,15 @@ struct patprog {
char patstartch;
};
+struct patstralloc {
+ int unmetalen; /* Unmetafied length of trial string */
+ int unmetalenp; /* Unmetafied length of path prefix.
+ If 0, no path prefix. */
+ char *alloced; /* Allocated string, may be NULL */
+ char *progstrunmeta; /* Unmetafied pure string in pattern, cached */
+ int progstrunmetalen; /* Length of the foregoing */
+};
+
/* Flags used in pattern matchers (Patprog) and passed down to patcompile */
#define PAT_FILE 0x0001 /* Pattern is a file name */