Subversion Repositories Kolibri OS

Rev

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

Rev 4848 Rev 4983
Line 1386... Line 1386...
1386
endl
1386
endl
Line 1387... Line 1387...
1387
 
1387
 
Line 1388... Line 1388...
1388
        DEBUGF  1, "parsing URL: %s\n", [URL]
1388
        DEBUGF  1, "parsing URL: %s\n", [URL]
1389
 
1389
 
1390
; remove any leading protocol text
1390
; remove any leading protocol text
1391
        mov     esi, [URL]
1391
        mov     edi, [URL]
1392
        mov     ecx, URLMAXLEN
1392
        mov     ecx, URLMAXLEN
1393
        mov     ax, '//'
1393
        mov     ax, '//'
1394
  .loop1:
1394
  .loop1:
1395
        cmp     byte[esi], 0            ; end of URL?
1395
        cmp     byte[edi], 0            ; end of URL?
1396
        je      .url_ok                 ; yep, so not found
1396
        je      .url_ok                 ; yep, so not found
1397
        cmp     [esi], ax
1397
        cmp     [edi], ax
1398
        je      .skip_proto
1398
        je      .skip_proto
1399
        inc     esi
1399
        inc     edi
1400
        dec     ecx
1400
        dec     ecx
Line 1401... Line 1401...
1401
        jnz     .loop1
1401
        jnz     .loop1
1402
        jmp     .invalid
1402
        jmp     .invalid
1403
 
1403
 
1404
  .skip_proto:
1404
  .skip_proto:
1405
        inc     esi                     ; skip the two '/'
-
 
Line 1406... Line 1405...
1406
        inc     esi
1405
        inc     edi                     ; skip the two '/'
1407
        mov     [URL], esi              ; update pointer so it skips protocol
1406
        inc     edi
1408
        jmp     .loop1                  ; we still need to find the length of the URL
1407
        mov     [URL], edi              ; update pointer so it skips protocol
-
 
1408
 
Line -... Line 1409...
-
 
1409
; Find the trailing 0 byte
-
 
1410
        xor     al, al
-
 
1411
        repne   scasb
Line 1409... Line 1412...
1409
 
1412
        jne     .invalid                ; ecx reached 0 before we reached end of string
1410
  .url_ok:
1413
 
1411
        sub     esi, [URL]              ; calculate total length of URL
1414
  .url_ok:
1412
        mov     [urlsize], esi
1415
        sub     edi, [URL]              ; calculate total length of URL
1413
 
1416
        mov     [urlsize], edi
1414
 
1417
 
1415
; now look for page delimiter - it's a '/' character
1418
; now look for page delimiter - it's a '/' character