From bd100f28381c496a86cb4fa74acad78aa763af47 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 22 Mar 2004 19:59:23 +0000 Subject: [PATCH] 19669, 19670: Danek Duvall: two compaudit problems --- ChangeLog | 9 +++++++++ Completion/compaudit | 14 ++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5540f22fb..709caf86f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-03-22 Peter Stephenson + + * 19669, 19670: Danek Duvall: Completion/compaudit: Use of + getent to check groups was slow; typo caused duplicate fpath + entries. + + * 19671: Src/Zle/zle_main.c: error in zle-line-init caused + infinite loop. + 2004-03-20 Bart Schaefer * 19666 (tweaked): Completion/Unix/Command/_ssh: fixes for remote 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