865d2d8a53f65eba22c8a0436be1ea985aaa2aba

Author
ratijas <me@ratijas.tk>
Committer
GitHub <noreply@github.com>
Date

Message

refactor(archlinux): prevent leaking local variables (#9476)

Co-authored-by: Marc Cornellà <marc.cornella@live.com>

Diff

 1diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh
 2index 4d39bd86b889697357d4c0ac5cd499aceb39309c..c72e06dc202c9ae1fb2b5cf65d4aaea971b3dbdb 100644
 3--- a/plugins/archlinux/archlinux.plugin.zsh
 4+++ b/plugins/archlinux/archlinux.plugin.zsh
 5@@ -171,14 +171,13 @@ function paclist() {
 6 }
 7 
 8 function pacdisowned() {
 9-  emulate -L zsh
10-
11+  local tmp db fs
12   tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
13   db=$tmp/db
14   fs=$tmp/fs
15 
16   mkdir "$tmp"
17-  trap  'rm -rf "$tmp"' EXIT
18+  trap 'rm -rf "$tmp"' EXIT
19 
20   pacman -Qlq | sort -u > "$db"
21 
22@@ -189,15 +188,14 @@ function pacdisowned() {
23 }
24 
25 function pacmanallkeys() {
26-  emulate -L zsh
27   curl -s https://www.archlinux.org/people/{developers,trustedusers}/ | \
28     awk -F\" '(/pgp.mit.edu/) { sub(/.*search=0x/,""); print $1}' | \
29     xargs sudo pacman-key --recv-keys
30 }
31 
32 function pacmansignkeys() {
33-  emulate -L zsh
34-  for key in $*; do
35+  local key
36+  for key in $@; do
37     sudo pacman-key --recv-keys $key
38     sudo pacman-key --lsign-key $key
39     printf 'trust\n3\n' | sudo gpg --homedir /etc/pacman.d/gnupg \
40@@ -207,13 +205,13 @@ function pacmansignkeys() {
41 
42 if (( $+commands[xdg-open] )); then
43   function pacweb() {
44-    pkg="$1"
45-    infos="$(LANG=C pacman -Si "$pkg")"
46+    local pkg="$1"
47+    local infos="$(LANG=C pacman -Si "$pkg")"
48     if [[ -z "$infos" ]]; then
49       return
50     fi
51-    repo="$(grep -m 1 '^Repo' <<< "$infos" | grep -oP '[^ ]+$')"
52-    arch="$(grep -m 1 '^Arch' <<< "$infos" | grep -oP '[^ ]+$')"
53+    local repo="$(grep -m 1 '^Repo' <<< "$infos" | grep -oP '[^ ]+$')"
54+    local arch="$(grep -m 1 '^Arch' <<< "$infos" | grep -oP '[^ ]+$')"
55     xdg-open "https://www.archlinux.org/packages/$repo/$arch/$pkg/" &>/dev/null
56   }
57 fi