1+ #![ allow( unused) ]
2+
13mod options;
24mod settings;
35
46use puppyutils:: Result ;
5- use rustix:: {
6- fs:: { Dir , Mode , OFlags , open} ,
7- termios:: tcgetwinsize,
8- } ;
7+ use xenia:: stdio:: stderr;
8+ use xenia_utils:: termios:: { Winsize , tcgetwinsize} ;
9+ // use rustix::{
10+ // fs::{Dir, Mode, OFlags, open},
11+ // termios::tcgetwinsize,
12+ // };
913use std:: io:: { self , BufWriter , stdout} ;
1014
1115const CURRENT_DIR_PATH : & str = "." ;
@@ -15,21 +19,25 @@ pub fn main() -> Result {
1519 let winsize = get_win_size ( ) ;
1620 let _cfg = settings:: parse_arguments ( winsize. ws_col , & mut stdout) ?;
1721
18- let fd = open (
19- CURRENT_DIR_PATH ,
20- OFlags :: DIRECTORY | OFlags :: RDONLY ,
21- Mode :: RUSR ,
22- ) ?;
22+ // FIXME: re-implement using xenia
23+
24+ // let fd = open(
25+ // CURRENT_DIR_PATH,
26+ // OFlags::DIRECTORY | OFlags::RDONLY,
27+ // Mode::RUSR,
28+ // )?;
29+
30+ // let dir = Dir::new(fd)?;
2331
24- let dir = Dir :: new ( fd) ?;
32+ // // bad bad bad
33+ // // FIXME: do not allocate
34+ // let names = dir
35+ // .filter_map(Result::ok)
36+ // .map(|entry| entry.file_name().to_string_lossy().into_owned())
37+ // .filter(|entry| !entry.starts_with('.'))
38+ // .collect::<Vec<_>>();
2539
26- // bad bad bad
27- // FIXME: do not allocate
28- let names = dir
29- . filter_map ( Result :: ok)
30- . map ( |entry| entry. file_name ( ) . to_string_lossy ( ) . into_owned ( ) )
31- . filter ( |entry| !entry. starts_with ( '.' ) )
32- . collect :: < Vec < _ > > ( ) ;
40+ let names = Vec :: new ( ) ;
3341
3442 let mut stdout = BufWriter :: new ( stdout) ;
3543
@@ -38,8 +46,8 @@ pub fn main() -> Result {
3846 Ok ( ( ) )
3947}
4048
41- fn get_win_size ( ) -> rustix :: termios :: Winsize {
42- let stderr_fd = rustix :: stdio :: stderr ( ) ;
49+ fn get_win_size ( ) -> Winsize {
50+ let stderr_fd = stderr ( ) ;
4351 tcgetwinsize ( stderr_fd) . expect ( "couldn't get terminal size" )
4452}
4553
@@ -49,7 +57,7 @@ fn print_all<O: io::Write>(cols: Vec<String>, stdout: &mut O) -> Result {
4957 const MIN_COLUMN_WIDTH : u16 = 3 ;
5058
5159 let len = cols. len ( ) ;
52- let stderr_fd = rustix :: stdio :: stderr ( ) ;
60+ let stderr_fd = stderr ( ) ;
5361 let winsize = tcgetwinsize ( stderr_fd) . expect ( "couldn't get terminal size" ) ;
5462
5563 let max_idx = ( ( winsize. ws_col / 3 ) / MIN_COLUMN_WIDTH - 1 ) as usize ;
0 commit comments