fix to avoid empty entries

This commit is contained in:
Andrew Pamment 2023-11-15 17:49:35 +10:00
parent 08972bdbf2
commit 2d8980d00b

View File

@ -70,7 +70,7 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
)?; )?;
u.write_ln( u.write_ln(
format!( format!(
"{}{}{:<35}{}", "{}{}{:<37}{}",
esc!("[5;42H"), esc!("[5;42H"),
esc!("[1;33m"), esc!("[1;33m"),
bbslist[i].telnet, bbslist[i].telnet,
@ -80,7 +80,7 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
)?; )?;
u.write_ln( u.write_ln(
format!( format!(
"{}{}{:<35}{}", "{}{}{:<37}{}",
esc!("[8;42H"), esc!("[8;42H"),
esc!("[1;33m"), esc!("[1;33m"),
bbslist[i].ssh, bbslist[i].ssh,
@ -90,7 +90,7 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
)?; )?;
u.write_ln( u.write_ln(
format!( format!(
"{}{}{:<35}{}", "{}{}{:<37}{}",
esc!("[11;42H"), esc!("[11;42H"),
esc!("[1;33m"), esc!("[1;33m"),
bbslist[i].software, bbslist[i].software,
@ -100,7 +100,7 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
)?; )?;
u.write_ln( u.write_ln(
format!( format!(
"{}{}{:<35}{}", "{}{}{:<37}{}",
esc!("[14;42H"), esc!("[14;42H"),
esc!("[1;33m"), esc!("[1;33m"),
bbslist[i].location, bbslist[i].location,
@ -110,7 +110,7 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
)?; )?;
u.write_ln( u.write_ln(
format!( format!(
"{}{}{:<35}{}", "{}{}{:<37}{}",
esc!("[17;42H"), esc!("[17;42H"),
esc!("[1;33m"), esc!("[1;33m"),
bbslist[i].sysop, bbslist[i].sysop,
@ -120,7 +120,7 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
)?; )?;
u.write_ln( u.write_ln(
format!( format!(
"{}{}{:<35}{}", "{}{}{:<37}{}",
esc!("[20;42H"), esc!("[20;42H"),
esc!("[1;33m"), esc!("[1;33m"),
bbslist[i].desc, bbslist[i].desc,
@ -131,7 +131,7 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
} else { } else {
u.write_ln( u.write_ln(
format!( format!(
"{}{}{:<37}{}", "{}{}{:<35}{}",
p, p,
esc!("[1;37m"), esc!("[1;37m"),
bbslist[i].name, bbslist[i].name,
@ -177,32 +177,33 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
u.write_str(" Your BBS Name: ")?; u.write_str(" Your BBS Name: ")?;
let name = door_read_string(&mut u, 35)?; let name = door_read_string(&mut u, 35)?;
u.write_str("\r\n Telnet Address: ")?; if !name.is_empty() {
let telnet = door_read_string(&mut u, 37)?; u.write_str("\r\n Telnet Address: ")?;
u.write_str("\r\n SSH Address: ")?; let telnet = door_read_string(&mut u, 37)?;
let ssh = door_read_string(&mut u, 37)?; u.write_str("\r\n SSH Address: ")?;
u.write_str("\r\n BBS Software: ")?; let ssh = door_read_string(&mut u, 37)?;
let software = door_read_string(&mut u, 37)?; u.write_str("\r\n BBS Software: ")?;
u.write_str("\r\n Location: ")?; let software = door_read_string(&mut u, 37)?;
let location = door_read_string(&mut u, 37)?; u.write_str("\r\n Location: ")?;
u.write_str("\r\n Sysop Name: ")?; let location = door_read_string(&mut u, 37)?;
let sysop = door_read_string(&mut u, 37)?; u.write_str("\r\n Sysop Name: ")?;
u.write_str("\r\nShort Description: ")?; let sysop = door_read_string(&mut u, 37)?;
let desc = door_read_string(&mut u, 37)?; u.write_str("\r\nShort Description: ")?;
let desc = door_read_string(&mut u, 37)?;
bbslist.push(BbsEntry { bbslist.push(BbsEntry {
name, name,
telnet, telnet,
ssh, ssh,
software, software,
location, location,
sysop, sysop,
desc, desc,
}); });
let file = File::create("bbslist.json")?;
serde_json::to_writer_pretty(file, &bbslist)?;
let file = File::create("bbslist.json")?;
serde_json::to_writer_pretty(file, &bbslist)?;
}
door_clear_screen(&mut u)?; door_clear_screen(&mut u)?;
door_display_file(&mut u, "bbslist.ans")?; door_display_file(&mut u, "bbslist.ans")?;
u.write_str( u.write_str(