Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4919 → Rev 4920

/programs/network/ftpc/servercommands.inc
6,7 → 6,7
; thus they are simply ignored in this simple command parser.
 
cmp dword[s], "150 "
je data_ok
je data_loop
 
cmp dword[s], "220 "
je welcome
100,7 → 100,7
jmp wait_for_servercommand
 
 
data_ok:
data_loop:
 
invoke con_write_asciiz, str2b
 
118,7 → 118,7
 
; not retreiving, just print to console
invoke con_write_asciiz, buffer_ptr2
jmp data_ok
jmp data_loop
 
; retreiving, save to file
.retr:
128,7 → 128,7
mcall 70, filestruct
pop eax
add [filestruct.offset], eax
jmp data_ok
jmp data_loop
 
; storing, send all data
.stor:
149,11 → 149,13
.done:
invoke con_write_asciiz, str_close
mcall close, [datasocket]
mov [operation], OPERATION_NONE
jmp wait_for_servercommand
 
 
 
close_datacon:
cmp [operation], OPERATION_NONE
je wait_for_usercommand
invoke con_write_asciiz, str_close
mcall close, [datasocket]
jmp wait_for_usercommand
/programs/network/ftpc/usercommands.inc
5,13 → 5,19
 
jmp wait_for_usercommand
 
 
cmd_bye:
 
; Send BYE message to the server
mov dword[s], "BYE" + 13 shl 24
mov byte[s+4], 10
mcall send, [socketnum], s, 5, 0
 
; Close the control connection
mcall close, [socketnum]
mcall close, [datasocket]
 
jmp main
 
 
cmd_pwd:
 
mov dword[s], "PWD" + 13 shl 24
20,6 → 26,7
 
jmp wait_for_servercommand
 
 
cmd_cwd:
 
mov dword[s], "CWD "
35,6 → 42,7
 
jmp wait_for_servercommand
 
 
cmd_dele:
 
mov dword[s], "DELE"
51,8 → 59,8
 
jmp wait_for_servercommand
 
 
cmd_list:
 
call open_dataconnection
 
mov [operation], OPERATION_LIST
65,11 → 73,14
 
 
cmd_retr:
 
call open_dataconnection
 
mov [operation], OPERATION_RETR
; Create/open the file
 
mov esi, s+5
mov ecx, 256-5
call set_filename
 
mov [filestruct.subfn], 2 ; create/rewrite file
mov [filestruct.offset], 0
mov [filestruct.offset+4], 0
76,17 → 87,17
mov [filestruct.size], 0
mov [filestruct.ptr], 0
 
lea esi, [s+5]
mov edi, filestruct.name
mov ecx, 256-5
call set_filename
 
mcall 70, filestruct
cmp eax, -1
; je fileerror
 
; Prepare to write to the file
 
mov [filestruct.subfn], 3 ; write to file
mov [operation], OPERATION_RETR
 
; Request the file from server
 
mov dword[s], "RETR"
mov byte[s+4], " "
 
95,9 → 106,10
mov edi, s
repne scasb
lea esi, [edi - s]
mov word [edi - 2], 0x0a0d
mov dword[edi - 2], 0x0a0d
mcall send, [socketnum], s, , 0
 
invoke con_write_asciiz, s ; print command
jmp wait_for_servercommand
 
 
113,8 → 125,7
mov [filestruct.size], BUFFERSIZE
mov [filestruct.ptr], buffer_ptr2
 
lea esi, [s+5]
mov edi, filestruct.name
mov esi, s+5
mov ecx, 256-5
call set_filename
 
154,6 → 165,7
 
jmp wait_for_usercommand
 
 
cmd_cdup:
 
mov dword[s], "CDUP"
162,6 → 174,7
 
jmp wait_for_servercommand
 
 
cmd_rmd:
 
mov dword[s], "RMD "
177,6 → 190,7
 
jmp wait_for_servercommand
 
 
cmd_mkd:
 
mov dword[s], "MKD "
193,18 → 207,15
jmp wait_for_servercommand
 
 
 
; esi = source ptr
; edi = dest ptr
; ecx = max length of source buffer
set_filename:
 
mov edi, filestruct.name
.loop:
lodsb
test al, al
jz .done
cmp al, ' '
je .done
cmp al, 10
je .done
stosb
213,5 → 224,4
xor al, al ; append a 0 byte
stosb
 
ret
 
ret