diff --git a/programs/network/ftpd/commands.inc b/programs/network/ftpd/commands.inc index a038f619d..13f51b865 100644 --- a/programs/network/ftpd/commands.inc +++ b/programs/network/ftpd/commands.inc @@ -337,6 +337,7 @@ align 4 fs_err_table: dd str_fs_error2 ; 2 dd str_fs_error3 ; 3 + dd str_fs_error ; 4 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 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 ;------------------------------------------------