commit:     7dec95c33a711a01f90993ee08a06de6df1a0806
Author:     Kerin Millar <kfm <AT> plushkava <DOT> net>
AuthorDate: Thu Jun 27 17:24:03 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 28 17:39:01 2024 +0000
URL:        
https://gitweb.gentoo.org/proj/gentoo-functions.git/commit/?id=7dec95c3

Implement array membership tests idiomatically in quote_args()

Signed-off-by: Kerin Millar <kfm <AT> plushkava.net>

 functions.sh | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/functions.sh b/functions.sh
index 3dd6239..367c4a3 100644
--- a/functions.sh
+++ b/functions.sh
@@ -377,7 +377,7 @@ quote_args()
                                word = q arg q
                        } else {
                                # Use $'' quoting per Issue 8
-                               if (ord_by["\001"] == "") {
+                               if (! ("\001" in ord_by)) {
                                        for (i = 1; i < 32; i++) {
                                                char = sprintf("%c", i)
                                                ord_by[char] = i
@@ -391,13 +391,10 @@ quote_args()
                                                word = word "\\\\"
                                        } else if (char == q) {
                                                word = word "\\'"
+                                       } else if (char in ord_by) {
+                                               word = word "\\" 
sprintf("%03o", ord_by[char])
                                        } else {
-                                               ord = ord_by[char]
-                                               if (ord != "") {
-                                                       word = word "\\" 
sprintf("%03o", ord)
-                                               } else {
-                                                       word = word char
-                                               }
+                                               word = word char
                                        }
                                }
                                word = word q

Reply via email to