From fb76449548e72cdd65ea73635cd61574bdac7df0 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Mon, 5 Sep 2005 19:32:48 +0000
Subject: [PATCH] Fix bugs in multi-column (>10) program listings (JS numbers
 are floats by default).

---
 exec/xtrn_sec.js | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/exec/xtrn_sec.js b/exec/xtrn_sec.js
index 1ebe334664..86c72fcc8d 100644
--- a/exec/xtrn_sec.js
+++ b/exec/xtrn_sec.js
@@ -16,6 +16,8 @@ const XtrnProgLstUnderline	=382
 const XtrnProgLstFmt		=383
 const WhichXtrnProg			=384
 
+var multicolumn = true;
+
 while(bbs.online) {
 
 	if(user.security.restrictions&UFLAG_X) {
@@ -61,34 +63,33 @@ while(bbs.online) {
 		else {
 			printf(bbs.text(XtrnProgLstHdr),xtrn_area.sec_list[xsec].name);
 			write(bbs.text(XtrnProgLstTitles));
-			if(xtrn_area.sec_list[xsec].prog_list.length >= 10) {
+			if(multicolumn && xtrn_area.sec_list[xsec].prog_list.length >= 10) {
 				write("     ");
 				write(bbs.text(XtrnProgLstTitles)); 
 			}
 			console.crlf();
 			write(bbs.text(XtrnProgLstUnderline));
-			if(xtrn_area.sec_list[xsec].prog_list.length >= 10) {
+			if(multicolumn && xtrn_area.sec_list[xsec].prog_list.length >= 10) {
 				write("     ");
 				write(bbs.text(XtrnProgLstUnderline)); 
 			}
 			console.crlf();
 			var n;
-			if(xtrn_area.sec_list[xsec].prog_list.length >= 10)
-				n=(xtrn_area.sec_list[xsec].prog_list.length/2)+(xtrn_area.sec_list[xsec].prog_list.length&1);
+			if(multicolumn && xtrn_area.sec_list[xsec].prog_list.length >= 10)
+				n=Math.floor(xtrn_area.sec_list[xsec].prog_list.length/2)+(xtrn_area.sec_list[xsec].prog_list.length&1);
 			else
 				n=xtrn_area.sec_list[xsec].prog_list.length;
 
-			var i;
+			var i,j;
 			for(i=0;i<n;i++) {
 				printf(bbs.text(XtrnProgLstFmt),i+1
 					,xtrn_area.sec_list[xsec].prog_list[i].name
 					,xtrn_area.sec_list[xsec].prog_list[i].cost);
 
-				if(xtrn_area.sec_list[xsec].prog_list.length>=10) {
-					j=(xtrn_area.sec_list[xsec].prog_list.length/2)+i+(xtrn_area.sec_list[xsec].prog_list.length&1);
+				if(multicolumn
+					&& xtrn_area.sec_list[xsec].prog_list.length>=10) {
+					j=Math.floor(xtrn_area.sec_list[xsec].prog_list.length/2)+i+(xtrn_area.sec_list[xsec].prog_list.length&1);
 					if(j<xtrn_area.sec_list[xsec].prog_list.length) {
-						log(format("%d %d",j,xtrn_area.sec_list[xsec].prog_list.length));
-						log(xtrn_area.sec_list[xsec].prog_list[j]);
 						write("     ");
 						printf(bbs.text(XtrnProgLstFmt),j+1
 							,xtrn_area.sec_list[xsec].prog_list[j].name
-- 
GitLab