[so] [Tema1][Windows] Path-uri linux/windows
Flamaropol Daniel
raptorclw at gmail.com
Thu Mar 5 16:18:51 EET 2009
Salut.
Din cate am inteles, tema se va testa pe cygwin ( faptul ca testele
contin foldere precum /dev, /tmp fac din aceasta o necesitate) . Aici
apare o problema in legatura cu sistemul virtual de fisiere pe care il
creaza cygwin. La schimbarea directorului prin folosirea comenzii cd (
pe care o implementam noi ), trebuie verificata existenta acestuia in
sistemul de fisiere ( testul 04 verifica aceasta printr-un apel
conditionat de tip || ).
Problema :
Functia SetCurrentDirectory() intoarce constant fals cand incerc sa
apelez din cygwin, cu un path care nu este valid si in sistemul real de
fisiere. ( e.g dau cd c: merge, dau cd /dev nu merge.. ). Din cate imi
pot da eu seama, desi nu am dovezi factuale, SetCurrentDirectory nu se
lasa "pacalit" de sistemul virtual cygwin si cauta in sistemul real. Nu
sunt convins ca asa stau lucrurile, dar asa pare pe moment.
Dupa multiple teste, am sesizat ca si functiile CreateFile(),
CreateDirectory(), etc.. sufera de aceeasi problema cu path-uri pasate
direct, atunci cand acestea se refera la sistemul interior cygwin-ului.
Detaliez testele :
1. Path-uri relative cu delimitatori tip windows : merg
2. Path-uri relative cu delimitatori tip linux : merg
3. Path-uri relative cu delimitatori amestecati : merg
4. Path-uri intregi tip windows ( c:\etc ) : merg
5. Path-uri intregi tip linux (/ceva/etc) : nu merg
Aici as putea sa fac o alta paranteza in legatura cu delimitatorii. Nu
prea stiu ce sa folosesc avand in vedere ca toate functiile winapi
intorc cu delimitator "\", iar toate testele contin delimitator "/" (
precum si toate caile din cygwin). Desi path-urile de windows sunt
versatile si primesc ambii delimitatori, nu sunt convins ca amestecarea
lor ar da rezultate placute.
Stiu ca masinile virtuale nu au fost puse inca la dispozitie si
configuratiile acestora s-ar putea sa difere de sistemul meu, dar as
aprecia macar un indiciu in legatura cu sursa problemei..
setari/versiune cygwin / modul in care pasez path-urile catre functiile
winapi / etc.
Stiu ca tema nu s-a activat in mod oficial inca. Daca este prea devreme
, v-as ruga sa imi raspundeti atunci cand va inceta sa fie :-).
Sper ca am dat suficiente detalii. Multumesc anticipat pentru ajutor.
More information about the so
mailing list