update to new doorlib

This commit is contained in:
Andrew Pamment 2023-12-12 16:57:58 +10:00
parent 69ffbd2d09
commit dbcc8377ed
2 changed files with 16 additions and 15 deletions

View File

@ -7,6 +7,7 @@ edition = "2021"
[dependencies] [dependencies]
doorlib = { git = "https://gitlab.com/apamment/doorlib" } doorlib = { git = "https://gitlab.com/apamment/doorlib" }
#doorlib = { path = "../doorlib" }
serde = "1.0.136" serde = "1.0.136"
serde_derive = "1.0.136" serde_derive = "1.0.136"
serde_json = "1.0.79" serde_json = "1.0.79"

View File

@ -1,4 +1,4 @@
use doorlib::{door_clear_screen, door_display_file, door_init, door_read_string, esc, Conn, User}; use doorlib::{self as door, esc, Conn};
use serde_derive::{Deserialize, Serialize}; use serde_derive::{Deserialize, Serialize};
use std::error::Error; use std::error::Error;
use std::fs::File; use std::fs::File;
@ -23,14 +23,14 @@ fn load_bbslist() -> Result<Vec<BbsEntry>, Box<dyn Error>> {
Ok(serde_json::from_reader(reader)?) Ok(serde_json::from_reader(reader)?)
} }
fn door_main(mut u: User) -> Result<(), Box<dyn Error>> { fn door_main(mut u: door::User) -> Result<(), Box<dyn Error>> {
let mut bbslist = load_bbslist().unwrap_or_default(); let mut bbslist = load_bbslist().unwrap_or_default();
let mut index = 0; let mut index = 0;
let mut start = 0; let mut start = 0;
door_clear_screen(&mut u)?; door::screen::clear(&mut u)?;
door_display_file(&mut u, "bbslist.ans")?; door::file::display(&mut u, "bbslist.ans")?;
u.write_str( u.write_str(
format!( format!(
"{}{} BBS List v2.0 - There are {} BBSes in this list!{}{}", "{}{} BBS List v2.0 - There are {} BBSes in this list!{}{}",
@ -173,23 +173,23 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
} else if ch == b'q' || ch == b'Q' { } else if ch == b'q' || ch == b'Q' {
break; break;
} else if ch == b'a' || ch == b'A' { } else if ch == b'a' || ch == b'A' {
door_clear_screen(&mut u)?; door::screen::clear(&mut u)?;
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)?;
if !name.is_empty() { if !name.is_empty() {
u.write_str("\r\n Telnet Address: ")?; u.write_str("\r\n Telnet Address: ")?;
let telnet = door_read_string(&mut u, 37)?; let telnet = door::read_string(&mut u, 37)?;
u.write_str("\r\n SSH Address: ")?; u.write_str("\r\n SSH Address: ")?;
let ssh = door_read_string(&mut u, 37)?; let ssh = door::read_string(&mut u, 37)?;
u.write_str("\r\n BBS Software: ")?; u.write_str("\r\n BBS Software: ")?;
let software = door_read_string(&mut u, 37)?; let software = door::read_string(&mut u, 37)?;
u.write_str("\r\n Location: ")?; u.write_str("\r\n Location: ")?;
let location = door_read_string(&mut u, 37)?; let location = door::read_string(&mut u, 37)?;
u.write_str("\r\n Sysop Name: ")?; u.write_str("\r\n Sysop Name: ")?;
let sysop = door_read_string(&mut u, 37)?; let sysop = door::read_string(&mut u, 37)?;
u.write_str("\r\nShort Description: ")?; u.write_str("\r\nShort Description: ")?;
let desc = door_read_string(&mut u, 37)?; let desc = door::read_string(&mut u, 37)?;
bbslist.push(BbsEntry { bbslist.push(BbsEntry {
name, name,
@ -204,8 +204,8 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
let file = File::create("bbslist.json")?; let file = File::create("bbslist.json")?;
serde_json::to_writer_pretty(file, &bbslist)?; serde_json::to_writer_pretty(file, &bbslist)?;
} }
door_clear_screen(&mut u)?; door::screen::clear(&mut u)?;
door_display_file(&mut u, "bbslist.ans")?; door::file::display(&mut u, "bbslist.ans")?;
u.write_str( u.write_str(
format!( format!(
"{}{} BBS List v2.0 - There are {} BBSes in this list!{}{}", "{}{} BBS List v2.0 - There are {} BBSes in this list!{}{}",
@ -223,7 +223,7 @@ fn door_main(mut u: User) -> Result<(), Box<dyn Error>> {
} }
fn main() { fn main() {
let u = door_init().unwrap(); let u = door::init().unwrap();
let _ = door_main(u); let _ = door_main(u);
} }