Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9163 → Rev 9164

/programs/network/ftpc/ftpc.asm
1,6 → 1,6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2013-2018. All rights reserved. ;;
;; Copyright (C) KolibriOS team 2013-2021. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; ftpc.asm - FTP client for KolibriOS ;;
353,27 → 353,37
add ecx, esi
jmp .byteloop
 
; receive socket data
; receive socket data with timeout
.receive:
mcall 26, 9
add eax, TIMEOUT*100
mov [timeout], eax
.receive_loop:
mcall 23, 50 ; Wait for event with timeout
.again:
mcall recv, [controlsocket], buf_buffer1, BUFFERSIZE, MSG_DONTWAIT
cmp eax, 0
jg .got_data
je .closed
cmp ebx, EWOULDBLOCK
jne .sock_err
mcall 26, 9
cmp eax, [timeout]
jl @f
mov eax, str_err_timeout
jmp error
@@: mcall recv, [controlsocket], buf_buffer1, BUFFERSIZE, MSG_DONTWAIT
test eax, eax
jnz .got_data
cmp ebx, EWOULDBLOCK
je @f
mov ebx, [timeout]
sub ebx, eax
jle .timeout
mcall 23 ; Wait for event with timeout
jmp .again
 
.sock_err:
mov eax, str_err_recv
jmp error
@@: jmp .receive_loop
 
.closed:
mov eax, str_err_closed
jmp error
 
.timeout:
mov eax, str_err_timeout
jmp error
 
.got_data:
mov [offset], 0
 
750,7 → 760,7
 
; data
str_title db 'FTP client for KolibriOS',0
str_welcome db 'FTP client for KolibriOS v0.15b',10
str_welcome db 'FTP client for KolibriOS v0.16',10
db 10,0
str_srv_addr db 'Please enter ftp server address.',10,0
 
758,6 → 768,7
str_resolve db 'Resolving ',0
str_newline db 10,0
str_err_resolve db 10,'Name resolution failed.',10,0
str_err_closed db 10,'The connection was closed by the remote end',10,0
str_err_socket db 10,'[75,0 socket]: Error creating a socket',10,0
str_err_bind db 10,'[75,2 bind]: Error binding to socket',10,0
str_err_listen db 10,'[75,3 listen]: Cannot accept incoming connections',10,0