Subversion Repositories Kolibri OS

Rev

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

Rev 6394 Rev 6437
Line 27... Line 27...
27
        add     esi, edx
27
        add     esi, edx
28
        lea     edi, [param_user+5]
28
        lea     edi, [param_user+5]
29
  .user:
29
  .user:
30
        lodsb
30
        lodsb
31
        cmp     al, 0
31
        cmp     al, 0
-
 
32
        jne     @f
-
 
33
        mov     eax, str_err_params
32
        je      .error
34
        jmp     error
33
        stosb
35
    @@: stosb
34
        cmp     byte [esi], ':'
36
        cmp     byte [esi], ':'
35
        jne     .user
37
        jne     .user
36
        mov     word [edi], 0x0a0d
38
        mov     word [edi], 0x0a0d
37
        mov     byte [edi+2], 0
39
        mov     byte [edi+2], 0
Line 42... Line 44...
42
        mov     byte[param_password+4], " "
44
        mov     byte[param_password+4], " "
43
        lea     edi, [param_password+5]
45
        lea     edi, [param_password+5]
44
  .pass:   
46
  .pass:   
45
        lodsb
47
        lodsb
46
        cmp     al, 0
48
        cmp     al, 0
-
 
49
        jne     @f
-
 
50
        mov     eax, str_err_params
47
        je      .error
51
        jmp     error
48
        stosb
52
    @@: stosb
49
        cmp     byte [esi], '@'
53
        cmp     byte [esi], '@'
50
        jne     .pass
54
        jne     .pass
51
        mov     word [edi], 0x0a0d
55
        mov     word [edi], 0x0a0d
52
        mov     byte [edi+2], 0
56
        mov     byte [edi+2], 0
Line 55... Line 59...
55
        inc     esi
59
        inc     esi
56
        mov     edi, param_server_addr
60
        mov     edi, param_server_addr
57
  .addr:
61
  .addr:
58
        lodsb
62
        lodsb
59
        cmp     al, 0
63
        cmp     al, 0
-
 
64
        jne     @f
-
 
65
        mov     eax, str_err_params
60
        je      .error
66
        jmp     error
61
        stosb
67
    @@: stosb
62
        cmp     byte [esi], ':'
68
        cmp     byte [esi], ':'
63
        jne     .addr
69
        jne     .addr
64
        mov     byte [edi], 0
70
        mov     byte [edi], 0
Line 65... Line 71...
65
 
71
 
Line 69... Line 75...
69
        xor     ebx, ebx
75
        xor     ebx, ebx
70
        mov     [sockaddr1.port], 21 shl 8
76
        mov     [sockaddr1.port], 21 shl 8
71
  .port:
77
  .port:
72
        lodsb
78
        lodsb
73
        cmp     al, 0
79
        cmp     al, 0
-
 
80
        jne     @f
-
 
81
        mov     eax, str_err_params
74
        je      .error
82
        jmp     error
75
        cmp     al, '/'
83
    @@: cmp     al, '/'
76
        jbe     @f
84
        jbe     .port_done
77
        sub     al, '0'
85
        sub     al, '0'
-
 
86
        jnb     @f
-
 
87
        mov     eax, str_err_host
78
        jb      error_hostname
88
        jmp     error
79
        cmp     al, 9
89
    @@: cmp     al, 9
-
 
90
        jna     @f
-
 
91
        mov     eax, str_err_host
80
        ja      error_hostname
92
        jmp     error
81
        lea     ebx, [ebx*4 + ebx]
93
    @@: lea     ebx, [ebx*4 + ebx]
82
        shl     ebx, 1
94
        shl     ebx, 1
83
        add     ebx, eax
95
        add     ebx, eax
84
        jmp     .port
96
        jmp     .port
85
  @@: ; port done
97
  .port_done:
86
        xchg    bl, bh
98
        xchg    bl, bh
87
        mov     [sockaddr1.port], bx
99
        mov     [sockaddr1.port], bx
Line 88... Line 100...
88
 
100
 
89
        ; parse path
101
        ; parse path
Line 110... Line 122...
110
        jne     .copy
122
        jne     .copy
111
        mov     byte [esi], 0
123
        mov     byte [esi], 0
Line 112... Line 124...
112
 
124
 
Line 113... Line -...
113
        jmp     no_resolve.done
-
 
114
 
-
 
115
  .error:
125
        jmp     no_resolve.done