From d785ec9fc194d967e7bcda6dfe58492c2ce22dfa Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Wed, 27 Apr 2022 20:51:24 -0700
Subject: [PATCH] Add a sort (alphabetical) option when listing batch queues

---
 src/sbbs3/bat_xfer.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/sbbs3/bat_xfer.cpp b/src/sbbs3/bat_xfer.cpp
index 9ad5fba71b..d041096fa4 100644
--- a/src/sbbs3/bat_xfer.cpp
+++ b/src/sbbs3/bat_xfer.cpp
@@ -92,9 +92,13 @@ void sbbs_t::batchmenu()
 				start_batch_download();
 				break;
 			case 'L':
+			{
+				bool sort = !noyes(text[SortAlphaQ]);
 				ini = batch_list_read(&cfg, useron.number, XFER_BATCH_UPLOAD);
 				filenames = iniGetSectionList(ini, NULL);
 				if(strListCount(filenames)) {
+					if(sort)
+						strListSortAlphaCase(filenames);
 					bputs(text[UploadQueueLstHdr]);
 					for(size_t i = 0; filenames[i]; ++i) {
 						const char* filename = filenames[i];
@@ -114,6 +118,8 @@ void sbbs_t::batchmenu()
 				ini = batch_list_read(&cfg, useron.number, XFER_BATCH_DOWNLOAD);
 				filenames = iniGetSectionList(ini, NULL);
 				if(strListCount(filenames)) {
+					if(sort)
+						strListSortAlphaCase(filenames);
 					bputs(text[DownloadQueueLstHdr]);
 					for(size_t i = 0; filenames[i]; ++i) {
 						const char* filename = filenames[i];
@@ -144,6 +150,7 @@ void sbbs_t::batchmenu()
 				iniFreeStringList(filenames);
 				iniFreeStringList(ini);
 				break;
+			}
 			case 'R':
 				if((n = batup_total()) > 0) {
 					bprintf(text[RemoveWhichFromUlQueue], n);
-- 
GitLab