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