[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