summaryrefslogtreecommitdiff
path: root/Completion/compaudit
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/compaudit')
-rw-r--r--Completion/compaudit14
1 files changed, 6 insertions, 8 deletions
diff --git a/Completion/compaudit b/Completion/compaudit
index 528334dc0..c4dbb6e11 100644
--- a/Completion/compaudit
+++ b/Completion/compaudit
@@ -64,7 +64,7 @@ if [[ -n $_compdir ]]; then
# Likewise (installation-layout)
_i_addfiles=(${_compdir}/*(/))
fi
- for _i_line in {1..$#i_addfiles}; do
+ for _i_line in {1..$#_i_addfiles}; do
_i_file=${_i_addfiles[$_i_line]}
[[ -d $_i_file && -z ${fpath[(r)$_i_file]} ]] ||
_i_addfiles[$_i_line]=
@@ -83,13 +83,11 @@ fi
# that this has not happened, and pick the best group.
local GROUP GROUPMEM _i_pw _i_gid _i_ulwdirs
-while IFS=: read GROUP _i_pw _i_gid GROUPMEM; do
- if (( UID == EUID )); then
- [[ $GROUP == $LOGNAME ]] && break
- else
- (( _i_gid == EGID )) && break # Somewhat arbitrary
- fi
-done <<(getent group)
+if ((UID == EUID )); then
+ getent group $LOGNAME | IFS=: read GROUP _i_pw _i_gid GROUPMEM
+else
+ getent group $EGID | IFS=: read GROUP _i_pw _i_gid GROUPMEM
+fi
# We search for:
# - world/group-writable directories in fpath not owned by root and the user