ftpd: Add mkd command #342

Open
igorsh wants to merge 4 commits from igorsh/kolibrios:ftpd-add-mkd-command into main
Showing only changes of commit e72e908c1a - Show all commits

View File

@@ -337,6 +337,7 @@ align 4
fs_err_table:
mxlgv marked this conversation as resolved Outdated
Outdated
Review

Don't forget the server in floppy disk image. I think here you can write more optimally, for example, get a line with an error by index.

Don't forget the server in floppy disk image. I think here you can write more optimally, for example, get a line with an error by index.
dd str_fs_error2 ; 2
dd str_fs_error3 ; 3
dd str_fs_error ; 4
Outdated
Review

I suggest using 4 as str_fs_error

I suggest using 4 as str_fs_error
dd str_fs_error5 ; 5
dd str_fs_error6 ; 6
dd str_fs_error7 ; 7
@@ -347,23 +348,19 @@ fs_err_table:
dd str_fs_error12 ; 12
Outdated
Review

I think you can shorten it something like this

console_fs_error:
        mov edx, 4 ;  Unknown filesystem error
       
        cmp     eax, 2
        jb      .print_err
        cmp     eax, 12
        ja       .print_err
       
        mov edx, eax
        
.print_err:
        sub     edx, 2
        mov     edx, [fs_err_table + edx*4]
        invoke  con_write_asciiz, edx
        ret
I think you can shorten it something like this ```asm console_fs_error: mov edx, 4 ; Unknown filesystem error cmp eax, 2 jb .print_err cmp eax, 12 ja .print_err mov edx, eax .print_err: sub edx, 2 mov edx, [fs_err_table + edx*4] invoke con_write_asciiz, edx ret ```
console_fs_error:
cmp eax, 2
jb .out_of_range
cmp eax, 12
ja .out_of_range
cmp eax, 4
ja .after4
sub eax, 2
jmp .index_ok
.after4:
sub eax, 3
.index_ok:
mov edx, [fs_err_table + eax*4]
invoke con_write_asciiz, edx
ret
mov edx, 4 ; Unknown filesystem error
.out_of_range:
invoke con_write_asciiz, str_fs_error
cmp eax, 2
jb .print_err
cmp eax, 12
ja .print_err
mov edx, eax
.print_err:
sub edx, 2
mov edx, [fs_err_table + edx*4]
invoke con_write_asciiz, edx
ret
;------------------------------------------------