about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Modules/cap.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f6dee5ca4..d8a1f8da1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2009-03-03  Peter Stephenson  <pws@csr.com>
 
+	* 26677: Src/Module/caps.c: need some unmetafy() calls as noticed
+	by Mikael.
+
 	* 26676: Doc/Zsh/options.yo: redirect to main description
 	of reserved words instead.
 
@@ -11314,5 +11317,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4595 $                         
+* $Revision: 1.4596 $                         
 *****************************************************
diff --git a/Src/Modules/cap.c b/Src/Modules/cap.c
index 9d41a4e90..4242d447f 100644
--- a/Src/Modules/cap.c
+++ b/Src/Modules/cap.c
@@ -38,6 +38,7 @@ bin_cap(char *nam, char **argv, UNUSED(Options ops), UNUSED(int func))
     int ret = 0;
     cap_t caps;
     if(*argv) {
+	unmetafy(*argv, NULL);
 	caps = cap_from_text(*argv);
 	if(!caps) {
 	    zwarnnam(nam, "invalid capability string");
@@ -90,6 +91,7 @@ bin_setcap(char *nam, char **argv, UNUSED(Options ops), UNUSED(int func))
     cap_t caps;
     int ret = 0;
 
+    unmetafy(*argv, NULL);
     caps = cap_from_text(*argv++);
     if(!caps) {
 	zwarnnam(nam, "invalid capability string");
@@ -97,6 +99,7 @@ bin_setcap(char *nam, char **argv, UNUSED(Options ops), UNUSED(int func))
     }
 
     do {
+	unmetafy(*argv, NULL);
 	if(cap_set_file(*argv, caps)) {
 	    zwarnnam(nam, "%s: %e", *argv, errno);
 	    ret = 1;