Fresh IDE . Check-in [dfdcc94259]
Not logged in

This repository is a mirror!

The original is located on: https://fresh.flatassembler.net/fossil/repo/fresh
If you want to follow the project, please update your remote-url

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fixed stupid bug in the 'minimag.asm'
Timelines: family | ancestors | FreshLibDev
Files: files | file ages | folders
SHA1:dfdcc94259f8b203cf806cc4cf55d7646e3c81f2
User & Date: johnfound 2019-01-14 09:43:54
Context
2019-01-14
09:43
Fixed stupid bug in the 'minimag.asm' Leaf check-in: dfdcc94259 user: johnfound tags: FreshLibDev
07:37
Fixed small bugs in bbcode parser. Added the function crypt() to the libc imported functions. check-in: cdd06b2935 user: johnfound tags: FreshLibDev
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to freshlib/data/minimag.asm.

180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
...
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
...
288
289
290
291
292
293
294

295
296
297
298
299
300
301
302
303
304
305
306
307
308
309

        inc     ecx
        cmp     ecx, [edx+TText.Length]
        jae     .second_pass

        mov     al, [edx+ecx]
        cmp     al, ' '
        jne     .fp_skip_eol

; valid label has been found...
; first: extract the label.

        sub     esi, edi
        jz      .fp_skip_eol

        cmp     esi, $ff
        ja      .fp_skip_eol

        lea     edi, [edx+edi]

        stdcall StrNew
        stdcall StrCharCat, eax, esi
        stdcall StrCatMemHTML, eax, edi, esi
        mov     [.tmp_link], eax
................................................................................
        xor     al, $0d xor $0a

        inc     ecx
        cmp     ecx, [edx+TText.Length]
        jae     .end_found

        cmp     al, [edx+ecx]
        je      .end_found

        dec     ecx

.end_found:
        sub     esi, edi
        jz      .free_link

        lea     edi, [edx+edi]
        stdcall StrCatMemHTML, [.tmp_link], edi, esi
................................................................................
        cmp     eax, [.lbl_hash]
        jne     .hash_search_slot

        stdcall StrDel, esi     ; the hash table is full, so simply delete the remaining link.

.end_link:
        mov     [edx+TText.GapEnd], ecx         ; delete the entire line of the link definition.

        jmp     .fp_new_line

.free_link:
        stdcall StrDel, [.tmp_link]

        cmp     ecx, [edx+TText.Length]
        jae     .second_pass
        jmp     .skip_to_eol


; Second processing pass. It will format all the tags.

.second_pass:

        mov     ebx, [.from]







|





|


|







 







|

|







 







>





|
|
|







180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
...
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
...
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310

        inc     ecx
        cmp     ecx, [edx+TText.Length]
        jae     .second_pass

        mov     al, [edx+ecx]
        cmp     al, ' '
        jne     .fp_invalid_link

; valid label has been found...
; first: extract the label.

        sub     esi, edi
        jz      .fp_invalid_link

        cmp     esi, $ff
        ja      .fp_invalid_link

        lea     edi, [edx+edi]

        stdcall StrNew
        stdcall StrCharCat, eax, esi
        stdcall StrCatMemHTML, eax, edi, esi
        mov     [.tmp_link], eax
................................................................................
        xor     al, $0d xor $0a

        inc     ecx
        cmp     ecx, [edx+TText.Length]
        jae     .end_found

        cmp     al, [edx+ecx]
        jne     .end_found

        inc     ecx

.end_found:
        sub     esi, edi
        jz      .free_link

        lea     edi, [edx+edi]
        stdcall StrCatMemHTML, [.tmp_link], edi, esi
................................................................................
        cmp     eax, [.lbl_hash]
        jne     .hash_search_slot

        stdcall StrDel, esi     ; the hash table is full, so simply delete the remaining link.

.end_link:
        mov     [edx+TText.GapEnd], ecx         ; delete the entire line of the link definition.
        dec     ecx
        jmp     .fp_new_line

.free_link:
        stdcall StrDel, [.tmp_link]

.fp_invalid_link:
        mov     ecx, [edx+TText.GapEnd]
        jmp     .fp_skip_eol


; Second processing pass. It will format all the tags.

.second_pass:

        mov     ebx, [.from]