Page MenuHomePhabricator

Eina: sanitize eina_path output on Windows
ClosedPublic

Authored by vtorri on Tue, Nov 9, 9:02 PM.

Details

Summary
  • remove additional \ character
  • use only / as path separator
Test Plan

compilation and run

test program :

{
        elm_app_bin_dir_get();
        printf("%s\n", eina_vpath_resolve("(:tmp:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:home:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.desktop:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.documents:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.downloads:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.music:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.pictures:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.public:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.templates:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.videos:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.data:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.config:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.cache:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.run:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.tmp:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.dir:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.bin:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.lib:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.data:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.locale:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.config:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.local:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.tmp:)/foo"));
    }

before patch :

C:\Documents\msys2\tmp/foo
C:\Users\vincent.torri/foo
C:\Users\vincent.torri\Desktop/foo
C:\Users\vincent.torri\Documents/foo
C:\Users\vincent.torri\Downloads/foo
C:\Users\vincent.torri\Music/foo
C:\Users\vincent.torri\Pictures/foo
C:\Users\Public\/foo
C:\Users\vincent.torri\AppData\Roaming\Microsoft\Windows\Templates/foo
C:\Users\vincent.torri\Videos/foo
C:\Users\vincent.torri\AppData\Local\/foo
C:\Users\vincent.torri\AppData\Roaming\/foo
C:\Users\vincent.torri\AppData\Local\/foo
C:\Users\vincent.torri\AppData\Roaming/foo
C:\Users\vincent.torri\AppData\Local\Temp/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/lib/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:\Users\vincent.torri\AppData\Roaming\/entice/foo
C:\Users\vincent.torri\AppData\Local\/entice/foo
C:\Users\vincent.torri\AppData\Local\Temp/entice/foo

after patch

C:/Documents/msys2/tmp/foo
C:/Users/vincent.torri/foo
C:/Users/vincent.torri/Desktop/foo
C:/Users/vincent.torri/Documents/foo
C:/Users/vincent.torri/Downloads/foo
C:/Users/vincent.torri/Music/foo
C:/Users/vincent.torri/Pictures/foo
C:/Users/Public/foo
C:/Users/vincent.torri/AppData/Roaming/Microsoft/Windows/Templates/foo
C:/Users/vincent.torri/Videos/foo
C:/Users/vincent.torri/AppData/Local/foo
C:/Users/vincent.torri/AppData/Roaming/foo
C:/Users/vincent.torri/AppData/Local/foo
C:/Users/vincent.torri/AppData/Roaming/foo
C:/Users/vincent.torri/AppData/Local/Temp/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/lib/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:/Users/vincent.torri/AppData/Roaming/entice/foo
C:/Users/vincent.torri/AppData/Local/entice/foo
C:/Users/vincent.torri/AppData/Local/Temp/entice/foo

Diff Detail

Repository
rEFL core/efl
Branch
vtorri_vpath
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 17561
Build 11823: arc lint + arc unit
vtorri created this revision.Tue, Nov 9, 9:02 PM
vtorri requested review of this revision.Tue, Nov 9, 9:02 PM
vtorri updated this revision to Diff 31495.Tue, Nov 9, 9:05 PM

revert unwanted change

vtorri updated this revision to Diff 31496.Tue, Nov 9, 9:11 PM

Evil: move EVIL_PATH_SEP_* macro to eina_private.h

vtorri edited the test plan for this revision. (Show Details)Tue, Nov 9, 9:16 PM
raster accepted this revision.Wed, Nov 10, 4:50 AM
This revision is now accepted and ready to land.Wed, Nov 10, 4:50 AM