forked from KolibriOS/kolibrios
IRCC: Dont skip all colons when searching for string, only skip one. Fixed KICK servercommand.
git-svn-id: svn://kolibrios.org@4595 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
36a222c11c
commit
bed902bcfd
@ -128,7 +128,7 @@ draw_window: ; Completely redraw the window, recalculate all coordinates and
|
|||||||
|
|
||||||
; draw editbox
|
; draw editbox
|
||||||
mov eax, [ysize]
|
mov eax, [ysize]
|
||||||
sub eax, 12 ;;;;;;
|
sub eax, 13 ;;;;;;
|
||||||
mov [edit1.top], eax
|
mov [edit1.top], eax
|
||||||
|
|
||||||
mov eax, [xsize]
|
mov eax, [xsize]
|
||||||
|
@ -121,7 +121,7 @@ compare_to_nick:
|
|||||||
align 4
|
align 4
|
||||||
skip_parameter:
|
skip_parameter:
|
||||||
|
|
||||||
; First: skip the parameter
|
; First: skip the parameter (scan untill space or colon)
|
||||||
.part1:
|
.part1:
|
||||||
lodsb
|
lodsb
|
||||||
cmp al, ' '
|
cmp al, ' '
|
||||||
@ -129,19 +129,28 @@ skip_parameter:
|
|||||||
cmp al, ':'
|
cmp al, ':'
|
||||||
jne .part1
|
jne .part1
|
||||||
|
|
||||||
; Now, skip all trailing spaces and semicolons
|
; Skip all trailing spaces
|
||||||
|
.part3:
|
||||||
|
lodsb
|
||||||
|
cmp al, ' '
|
||||||
|
je .part3
|
||||||
|
dec esi
|
||||||
|
ret
|
||||||
|
|
||||||
|
; Now, skip all trailing spaces and first semicolon
|
||||||
.part2:
|
.part2:
|
||||||
lodsb
|
lodsb
|
||||||
cmp al, ' '
|
cmp al, ' '
|
||||||
je .part2
|
je .part2
|
||||||
cmp al, ':'
|
cmp al, ':'
|
||||||
je .part2
|
je .part3
|
||||||
dec esi
|
dec esi
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cmd_324:
|
cmd_324:
|
||||||
cmd_329:
|
cmd_329:
|
||||||
cmd_328:
|
cmd_328:
|
||||||
@ -708,18 +717,15 @@ cmd_kick:
|
|||||||
cmp byte [esi+4], ' '
|
cmp byte [esi+4], ' '
|
||||||
jne .fail
|
jne .fail
|
||||||
add esi, 5 ; skip 'KICK '
|
add esi, 5 ; skip 'KICK '
|
||||||
; Is it me who got kicked?
|
|
||||||
mov edi, servercommand+1
|
|
||||||
call compare_to_nick
|
|
||||||
jne .not_me
|
|
||||||
|
|
||||||
; TODO: mark channel as disconnected
|
; TODO: Is it me who got kicked?
|
||||||
|
; if so, mark channel as disconnected
|
||||||
|
|
||||||
.not_me:
|
.not_me:
|
||||||
; find the channel user has been kicked from
|
; find the channel user has been kicked from
|
||||||
push esi
|
push esi
|
||||||
call skip_parameter
|
|
||||||
call window_open
|
call window_open
|
||||||
|
push esi
|
||||||
|
|
||||||
if TIMESTAMP
|
if TIMESTAMP
|
||||||
call print_timestamp
|
call print_timestamp
|
||||||
@ -728,17 +734,25 @@ cmd_kick:
|
|||||||
mov esi, kick_header
|
mov esi, kick_header
|
||||||
call print_text2
|
call print_text2
|
||||||
|
|
||||||
|
pop eax
|
||||||
|
mov dl, ' '
|
||||||
|
call print_text
|
||||||
|
|
||||||
|
mov esi, str_kicked
|
||||||
|
call print_text2
|
||||||
|
|
||||||
|
pop eax
|
||||||
|
mov dl, ' '
|
||||||
|
call print_text2
|
||||||
|
|
||||||
|
mov esi, str_by
|
||||||
|
call print_text2
|
||||||
|
|
||||||
mov eax, servercommand+1
|
mov eax, servercommand+1
|
||||||
mov dl, '!'
|
mov dl, '!'
|
||||||
call print_text
|
call print_text
|
||||||
|
|
||||||
mov esi, kicked
|
mov esi, str_dotnewline
|
||||||
call print_text2
|
|
||||||
|
|
||||||
pop esi
|
|
||||||
call print_text2
|
|
||||||
|
|
||||||
mov esi, str_newline
|
|
||||||
call print_text2
|
call print_text2
|
||||||
|
|
||||||
mov ebx, [window_print]
|
mov ebx, [window_print]
|
||||||
|
Loading…
Reference in New Issue
Block a user