summary refs log tree commit diff
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.tar.xz
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 */