From 3029ed5fda61fd1a275283d0ccde7b2b0874e87a Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on ChromeOS)" <rob@synchro.net>
Date: Fri, 24 Feb 2023 18:37:42 -0800
Subject: [PATCH] Use Archive() instead of executing 'unzip' to get echolist
 from infopack

Fixes issue #311

Also clarify "Internet e-mail" address (unrelated)
---
 exec/init-fidonet.js | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/exec/init-fidonet.js b/exec/init-fidonet.js
index 313adb4045..ffc140aa95 100644
--- a/exec/init-fidonet.js
+++ b/exec/init-fidonet.js
@@ -575,8 +575,8 @@ if(!sysop_email) {
 	sysop_email = sysop.replace(' ', '.');
 	sysop_email += '@' + system.inet_addr;
 }
-while((netaddr_type(sysop_email) != NET_INTERNET || !confirm("Your e-mail address is " + sysop_email)) && !aborted())
-	sysop_email = prompt("Your e-mail address");
+while((netaddr_type(sysop_email) != NET_INTERNET || !confirm("Your Internet e-mail address is " + sysop_email)) && !aborted())
+	sysop_email = prompt("Your Internet e-mail address");
 
 /* Get/Confirm passwords */
 while((!link.AreaFixPwd || !confirm("Your AreaFix Password is '" + link.AreaFixPwd + "'")) && !aborted())
@@ -708,11 +708,8 @@ if(network.echolist
 			file.close();
 
 			// try to extract
-			var prefix = "";
-			if(system.platform == "Win32")
-				prefix = system.exec_dir;
-			if (system.exec(prefix + "unzip -CLjo " + file_getname(network.pack) + " " + echolist_fname) !== 0) {
-				print("Please extract " + network.echolist + " from " + file.name + " into " + system.ctrl_dir);
+			if(Archive(file.name).extract(system.ctrl_dir, echolist_fname) !== 1) {
+				print("Please extract " + echolist_fname + " from " + file.name + " into " + system.ctrl_dir);
 			}
 
 			break;
-- 
GitLab