Subversion Repositories Kolibri OS

Rev

Rev 3792 | Rev 3813 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3792 Rev 3800
Line 19... Line 19...
19
 
19
 
20
        cmp     dword[s], "230 "
20
        cmp     dword[s], "230 "
Line 21... Line 21...
21
        je      login_ok
21
        je      login_ok
22
 
22
 
Line 23... Line 23...
23
;        cmp     dword[s], "250"
23
;        cmp     dword[s], "250"
24
;        je      dir_ok
24
;        je      op_ok
Line 25... Line 25...
25
 
25
 
26
        cmp     dword[s], "331 "
26
        cmp     dword[s], "331 "
Line 27... Line 27...
27
        je      pass
27
        je      pass
28
 
28
 
Line -... Line 29...
-
 
29
;        cmp     dword[s], "421 "
-
 
30
;        je      timeout
-
 
31
 
29
;        cmp     dword[s], "421 "
32
        cmp     dword[s], "530 "         ; password incorrect
Line 30... Line 33...
30
;        je      timeout
33
        je      welcome
Line 88... Line 91...
88
        jmp     wait_for_servercommand
91
        jmp     wait_for_servercommand
Line 89... Line 92...
89
 
92
 
Line -... Line 93...
-
 
93
 
-
 
94
data_ok:
-
 
95
 
-
 
96
        cmp     [operation], OPERATION_STOR
90
 
97
        je      .stor
91
data_ok:
98
 
92
 
99
; we are receiving data
93
        mcall   recv, [datasocket], buffer_ptr2, BUFFERSIZE, 0
100
        mcall   recv, [datasocket], buffer_ptr2, BUFFERSIZE, 0
Line -... Line 101...
-
 
101
        test    ebx, ebx
-
 
102
        jnz     .done
-
 
103
        mov     byte[buffer_ptr2 + eax], 0
-
 
104
 
94
        test    ebx, ebx
105
        cmp     [operation], OPERATION_RETR
-
 
106
        je      .retr
Line -... Line 107...
-
 
107
 
-
 
108
; not retreiving, just print to console
-
 
109
        invoke  con_write_asciiz, buffer_ptr2
-
 
110
        jmp     data_ok
-
 
111
 
-
 
112
; retreiving, save to file
-
 
113
  .retr:
-
 
114
        mov     [filestruct.ptr], buffer_ptr2
95
        jnz     .fail
115
        mov     [filestruct.size], eax
Line -... Line 116...
-
 
116
        push    eax
96
        mov     byte[buffer_ptr2 + eax], 0
117
        mcall   70, filestruct
-
 
118
        pop     eax
-
 
119
        add     [filestruct.offset], eax
-
 
120
        jmp     data_ok
-
 
121
 
-
 
122
; storing, send all data
-
 
123
  .stor:
-
 
124
        mcall   70, filestruct
-
 
125
        cmp     eax, 6          ; end of file
-
 
126
        je      .last_call
-
 
127
        test    eax, eax        ; error
-
 
128
;        jne     .fileerror
-
 
129
        add     [filestruct.offset], ebx
-
 
130
        mov     esi, ebx
-
 
131
        mcall   send, [datasocket], buffer_ptr2, , 0
-
 
132
        jmp     .stor
97
 
133
 
98
        invoke  con_write_asciiz, buffer_ptr2
134
  .last_call:
Line -... Line 135...
-
 
135
        mov     esi, ebx
-
 
136
        mcall   send, [datasocket], buffer_ptr2, , 0
-
 
137
 
-
 
138
  .done:
-
 
139
        mcall   close, [datasocket]
-
 
140
        jmp     wait_for_servercommand
-
 
141
 
99
 
142
 
Line 100... Line 143...
100
        jmp     data_ok
143
 
101
 
144
close_datacon:
102
  .fail:
145
        mcall   close, [datasocket]