Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Main
Synchronet
Compare Revisions
04cec7e186a102a902a6d5863137a544acd9a995...d785ec9fc194d967e7bcda6dfe58492c2ce22dfa
Commits (2)
Add batch_list_sort() to sort up/download batch xfer list files
· 79051b66
Rob Swindell
authored
Apr 27, 2022
79051b66
Add a sort (alphabetical) option when listing batch queues
· d785ec9f
Rob Swindell
authored
Apr 27, 2022
d785ec9f
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
0 deletions
+20
-0
src/sbbs3/bat_xfer.cpp
src/sbbs3/bat_xfer.cpp
+7
-0
src/sbbs3/filedat.c
src/sbbs3/filedat.c
+12
-0
src/sbbs3/filedat.h
src/sbbs3/filedat.h
+1
-0
No files found.
src/sbbs3/bat_xfer.cpp
View file @
d785ec9f
...
...
@@ -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
);
...
...
src/sbbs3/filedat.c
View file @
d785ec9f
...
...
@@ -421,6 +421,18 @@ bool batch_list_clear(scfg_t* cfg, uint usernumber, enum XFER_TYPE type)
return
remove
(
batch_list_name
(
cfg
,
usernumber
,
type
,
path
,
sizeof
(
path
)))
==
0
;
}
bool
batch_list_sort
(
scfg_t
*
cfg
,
uint
usernumber
,
enum
XFER_TYPE
type
)
{
str_list_t
ini
=
batch_list_read
(
cfg
,
usernumber
,
type
);
if
(
ini
==
NULL
)
return
true
;
bool
result
=
iniSortSections
(
&
ini
,
/* prefix: */
NULL
,
/* sort_keys: */
FALSE
);
if
(
result
)
result
=
batch_list_write
(
cfg
,
usernumber
,
type
,
ini
);
iniFreeStringList
(
ini
);
return
result
;
}
size_t
batch_file_count
(
scfg_t
*
cfg
,
uint
usernumber
,
enum
XFER_TYPE
type
)
{
FILE
*
fp
=
batch_list_open
(
cfg
,
usernumber
,
type
,
/* create: */
false
);
...
...
src/sbbs3/filedat.h
View file @
d785ec9f
...
...
@@ -82,6 +82,7 @@ DLLEXPORT char* batch_list_name(scfg_t* , uint usernumber, enum XFER_TYPE, cha
DLLEXPORT
FILE
*
batch_list_open
(
scfg_t
*
,
uint
usernumber
,
enum
XFER_TYPE
,
bool
create
);
DLLEXPORT
str_list_t
batch_list_read
(
scfg_t
*
,
uint
usernumber
,
enum
XFER_TYPE
);
DLLEXPORT
bool
batch_list_write
(
scfg_t
*
,
uint
usernumber
,
enum
XFER_TYPE
,
str_list_t
list
);
DLLEXPORT
bool
batch_list_sort
(
scfg_t
*
,
uint
usernumber
,
enum
XFER_TYPE
);
DLLEXPORT
bool
batch_list_clear
(
scfg_t
*
,
uint
usernumber
,
enum
XFER_TYPE
);
DLLEXPORT
bool
batch_file_add
(
scfg_t
*
,
uint
usernumber
,
enum
XFER_TYPE
,
file_t
*
);
...
...