Page 1 of 1

Unicode support in filesystem breaking compatibility?

Posted: Mon Sep 26, 2016 7:21 pm
by nisargshah95
Hi. It seems in recent releases of KolibriOS (I tested this for the Sept 26 2016 release currently put up at http://builds.kolibrios.org/eng/latest-distr.7z), getting current folder for thread (SF 30.2) does not work as expected (there may be other functions whose behavior might have changed, but I have only tested 30.2). For example, the following code snippet -
Spoiler:

Code: Select all

format binary as ""
        
use32
; standard header
        db      'MENUET01'      ; signature
        dd      1               ; header version
        dd      start           ; entry point
        dd      i_end           ; initialized size
        dd      mem+0x1000      ; required memory
        dd      mem+0x1000      ; stack pointer
        dd      buf_cmd         ; parameters
        dd      path            ; path

include 'macros.inc'

purge mov,add,sub

start:
; initialize heap for using dynamic blocks
        mcall   68,11
        test    eax,eax
        je      exit

        int3
        mcall   30, 2, filename_buf, 128

exit:
        mcall   -1

; data
i_end:

filename_buf    rb 128
buf_cmd         rb 1024                 ; buffer for holding command string
path            rb 1024

mem:
should ideally store "/RD/1" (2F 52 44 2F 31 as it does in older versions) into the buffer. However with the new release it prefixes "2F 03" to the result (2F 03 2F 52 44 2F 31). Can someone verify this behavior? @dunkaist suggests this might be due to the unicode support introduced in filesystem.

Re: Unicode support in filesystem breaking compatibility?

Posted: Mon Sep 26, 2016 9:12 pm
by Pathoswithin
Sorry, my bad...

revision #6534

Check it now.

Re: Unicode support in filesystem breaking compatibility?

Posted: Mon Sep 26, 2016 10:01 pm
by nisargshah95
Thanks. It is working as expected :D.