about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-03-03 18:12:44 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-03-03 18:12:44 +0000
commit93dd3e0540408c5432cee323da07985859ea9638 (patch)
tree712419f3aa17bb4dcfc1e97089b060c3935f96cc /Src
parent731646656cf9809ee21b693abd2e98f3df46079c (diff)
downloadzsh-93dd3e0540408c5432cee323da07985859ea9638.tar.gz
zsh-93dd3e0540408c5432cee323da07985859ea9638.tar.xz
zsh-93dd3e0540408c5432cee323da07985859ea9638.zip
26680: still more metafy() stuff in cap
Diffstat (limited to 'Src')
-rw-r--r--Src/Modules/cap.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/Src/Modules/cap.c b/Src/Modules/cap.c
index 4242d447f..aaf5e2433 100644
--- a/Src/Modules/cap.c
+++ b/Src/Modules/cap.c
@@ -72,7 +72,10 @@ bin_getcap(char *nam, char **argv, UNUSED(Options ops), UNUSED(int func))
     do {
 	char *result = NULL;
 	ssize_t length;
-	cap_t caps = cap_get_file(*argv);
+	cap_t caps;
+	char *filename;
+
+	caps = cap_get_file(unmetafy(dupstring(*argv), NULL));
 	if(caps)
 	    result = cap_to_text(caps, &length);
 	if (!caps || !result) {
@@ -99,8 +102,7 @@ bin_setcap(char *nam, char **argv, UNUSED(Options ops), UNUSED(int func))
     }
 
     do {
-	unmetafy(*argv, NULL);
-	if(cap_set_file(*argv, caps)) {
+	if(cap_set_file(unmetafy(dupstring(*argv, NULL)), caps)) {
 	    zwarnnam(nam, "%s: %e", *argv, errno);
 	    ret = 1;
 	}