Subversion Repositories Kolibri OS

Rev

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

Rev 824 Rev 1008
Line 106... Line 106...
106
proc search
106
proc search
107
	cld
107
	cld
108
	mov	ecx,[cur_editor.Caret.Y]
108
	mov	ecx,[cur_editor.Caret.Y]
109
	mov	edx,ecx
109
	mov	edx,ecx
110
	call	get_line_offset
110
	call	get_line_offset
111
	cmp	word[esi],0
111
	cmp	[esi+EDITOR_LINE_DATA.Size],0
112
	je	.exit
112
	je	.exit
113
	call	get_real_length
113
	call	get_real_length
114
	add	esi,4
114
	add	esi,sizeof.EDITOR_LINE_DATA
115
	or	eax,eax
115
	or	eax,eax
116
	jz	.end_line.2
116
	jz	.end_line.2
117
	mov	ecx,eax
117
	mov	ecx,eax
118
	sub	ecx,[cur_editor.Caret.X]
118
	sub	ecx,[cur_editor.Caret.X]
119
	push	esi
119
	push	esi
Line 154... Line 154...
154
  .found:
154
  .found:
155
	add	esp,4
155
	add	esp,4
156
	mov	[cur_editor.Caret.Y],edx
156
	mov	[cur_editor.Caret.Y],edx
157
	mov	[cur_editor.SelStart.Y],edx
157
	mov	[cur_editor.SelStart.Y],edx
158
	mov	ecx,edx
158
	mov	ecx,edx
159
	lea	eax,[esi-4]
159
	lea	eax,[esi-sizeof.EDITOR_LINE_DATA]
160
	call	get_line_offset
160
	call	get_line_offset
161
	sub	eax,esi
161
	sub	eax,esi
162
	mov	[cur_editor.SelStart.X],eax
162
	mov	[cur_editor.SelStart.X],eax
163
	add	eax,[s_search.size]
163
	add	eax,[s_search.size]
164
	mov	[cur_editor.Caret.X],eax
164
	mov	[cur_editor.Caret.X],eax
Line 167... Line 167...
167
	ret
167
	ret
Line 168... Line 168...
168
 
168
 
169
  .end_line:
169
  .end_line:
170
	pop	esi
170
	pop	esi
171
  .end_line.2:
171
  .end_line.2:
172
	movzx	eax,word[esi-4]
172
	mov	eax,[esi-sizeof.EDITOR_LINE_DATA+EDITOR_LINE_DATA.Size]
173
	add	esi,eax
173
	add	esi,eax
174
	inc	edx
174
	inc	edx
175
	call	get_real_length
175
	call	get_real_length
176
	mov	ecx,eax
176
	mov	ecx,eax
-
 
177
	lodsd
177
	lodsd
178
	add	esi,2
178
	or	eax,eax
179
	or	eax,eax
179
	jnz	.next_line
180
	jnz	.next_line
180
  .exit:
181
  .exit:
181
	mov	[s_status],s_text_not_found
182
	mov	[s_status],s_text_not_found