Compare commits

..

3 Commits

Author SHA1 Message Date
Igor Shutrov
9b1de0b705 heed: Refactor help window (ESC) 2026-03-08 09:49:58 +05:00
Igor Shutrov
0000458f65 heed: Simplify ESC code 2026-03-01 22:09:44 +05:00
Igor Shutrov
815d81f936 heed: Add exit by ESC 2026-02-24 23:08:53 +05:00
3 changed files with 7 additions and 110 deletions

View File

@@ -24,7 +24,7 @@
; Ctrl+F - ¯®¨áª (+Tab ¤«ï OptionBox)
; Ctrl+G - ¯¥à¥å®¤ ­  ᬥ饭¨¥ (+Tab ¤«ï OptionBox)
; Ctrl+B - ¢ë¤¥«¨âì ¡«®ª
; ESC - á­ïâì ¢ë¤¥«¥­¨¥
; ESC - á­ïâì ¢ë¤¥«¥­¨¥/¢ë室
; Ctrl+C - ª®¯¨à®¢ âì ¡«®ª
; Ctrl+V - ¢áâ ¢¨âì ¢ ¢ë¤¥«¥­­ãî ®¡« áâì
; Ctrl+X - ¢ë१ âì ¢ë¤¥«¥­­ãî ®¡« áâì (¢ ¡ãä¥à)
@@ -2699,7 +2699,8 @@ Ctrl_END:
jmp red
;--------------------------------------------------------------------
ESC:
btr [flags],8
btr [flags], 8
jnc close_prog
jmp red
;--------------------------------------------------------------------
copy_to_buf:
@@ -3236,7 +3237,7 @@ if lang eq ru_RU
db 'Ctrl+F - ¯®¨áª '
db 'Ctrl+G - ¯¥à¥å®¤ ­  ᬥ饭¨¥ '
db 'Ctrl+B - ¢ë¤¥«¨âì ¡«®ª '
db 'ESC - á­ïâì ¢ë¤¥«¥­¨¥ '
db 'ESC - á­ïâì ¢ë¤¥«¥­¨¥/¢ë室 '
db 'Ctrl+C - ª®¯¨à®¢ âì ¡«®ª '
db 'Ctrl+V - ¢áâ ¢¨âì ¢ ¢ë¤¥«¥­­ãî ®¡« áâì'
db 'Ctrl+X - ¢ë१ âì ¢ ¡ãä¥à '
@@ -3258,7 +3259,7 @@ else ; Default to en_US
db 'Ctrl+F - find '
db 'Ctrl+G - go to offset '
db 'Ctrl+B - select area '
db 'ESC - deselect area '
db 'ESC - deselect area/exit '
db 'Ctrl+C - copy area '
db 'Ctrl+V - past into area from buf '
db 'Ctrl+X - cut area into buffer '

View File

@@ -89,7 +89,7 @@ commands: ; all commands must be in uppercase
; dd 'HELP', login_first, login_first, login_first, cmd_HELP
dd 'LIST', login_first, login_first, login_first, cmdLIST
; dd 'MDTM', login_first, login_first, login_first, cmd_MDTM
dd 'MKD', login_first, login_first, login_first, cmd_MKD
; dd 'MKD', login_first, login_first, login_first, cmd_MKD
; dd 'MODE', login_first, login_first, login_first, cmd_MODE
; dd 'NLST', login_first, login_first, login_first, cmdNLST
dd 'NOOP', login_first, login_first, login_first, cmdNOOP
@@ -333,35 +333,6 @@ open_datasock:
ret
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
dd str_fs_error8 ; 8
dd str_fs_error9 ; 9
dd str_fs_error10 ; 10
dd str_fs_error11 ; 11
dd str_fs_error12 ; 12
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
;------------------------------------------------
; "ABOR"
@@ -1277,69 +1248,6 @@ cmdTYPE:
ret
;------------------------------------------------
; "MKD"
;
; Create directory
;
;------------------------------------------------
align 4
cmd_MKD:
test [ebp + thread_data.permissions], PERMISSION_WRITE
jz permission_denied
lea esi, [esi + 4]
lea edi, [ebp + thread_data.buffer]
mov ecx, 1024
.loop1:
lodsb
cmp al, 0x20
jb .done
stosb
loop .loop1
.done:
mov byte [edi], 0x00
call create_path
dec edi
lea esi, [ebp + thread_data.buffer]
.loop2:
lodsb
cmp al, 0x20
jb .new_dir_ready
stosb
loop .loop2
.new_dir_ready:
mov byte [edi], 0x00
lea ebx, [ebp + thread_data.fpath]
invoke con_write_asciiz, ebx
invoke con_write_asciiz, str_newline
; called fs function
push ebx
dec esp
mov byte[esp], 0
push dword 0
push dword 0
push dword 0
push dword 0
push dword SSF_CREATE_FOLDER
mov ebx, esp
mcall SF_FILE
add esp, 6*4 + 1
test eax, eax
jnz .error
sendFTP "257 Directory created"
ret
.error:
call console_fs_error
sendFTP "550 Create directory operation failed."
ret
;------------------------------------------------
; "USER"
;
; Login to the server, step one of two. ;;; TODO: prevent buffer overflow!

View File

@@ -63,13 +63,13 @@ use32
dd params ; parameters
dd path ; path
include '../../KOSfuncs.inc'
include '../../macros.inc'
purge mov,add,sub
include '../../proc32.inc'
include '../../dll.inc'
include '../../struct.inc'
include '../../develop/libraries/libs-dev/libio/libio.inc'
include '../../network.inc'
macro sendFTP str {
@@ -363,18 +363,6 @@ str_alopen db 'Data connection already open.',10,0
str_notfound db 'ERROR: file not found.',10,0
str_sockerr db 'ERROR: socket error.',10,0
str_fs_error db 'Unknown filesystem error',10,0
str_fs_error2 db 'Function not supported for this filesystem',10,0
str_fs_error3 db 'Unknown filesystem',10,0
str_fs_error5 db 'File not found',10,0
str_fs_error6 db 'End of file',10,0
str_fs_error7 db 'Pointer outside application memory',10,0
str_fs_error8 db 'Disk full',10,0
str_fs_error9 db 'Filesystem error',10,0
str_fs_error10 db 'Access denied',10,0
str_fs_error11 db 'Device error',10,0
str_fs_error12 db 'Filesystem out of memory',10,0
str_newline db 10, 0
str_mask db '*', 0
str_infinity db 0xff, 0xff, 0xff, 0xff, 0