Skip to content

Dmod_ReadDirEx #49

@JohnAmadis

Description

@JohnAmadis

Komponent:

Problem: Dmod_ReadDirEx zwraca Dmod_DirEntryType_Dir dla węzłów urządzeń (np. led_ld1 pod /dev/dmgpio8/), które w rzeczywistości są plikami, a nie katalogami. Powoduje to, że uzupełnianie tabulatorem błędnie dopisuje / na końcu nazwy pliku.

Kroki reprodukcji:

Uruchom shell (dmell).
W katalogu zawierającym wirtualne węzły urządzeń (np. /dev/dmgpio8/) wpisz częściową nazwę pliku (np. led) i naciśnij TAB.
Shell uzupełnia do led_ld1/ (dopisuje /), bo Dmod_ReadDirEx raportuje ten węzeł jako Dmod_DirEntryType_Dir.
Kolejne naciśnięcie TAB (lub naciśnięcie Enter po ls led_ld1/) powoduje błąd: dmdevfs: [ERROR] Not a directory: /dmgpio8/led_ld1.
Oczekiwane zachowanie: Węzły urządzeń (pliki) powinny być raportowane przez Dmod_ReadDirEx jako Dmod_DirEntryType_File (lub Dmod_DirEntryType_Other), nie Dmod_DirEntryType_Dir.

Uwaga: Próba weryfikacji przez Dmod_OpenDir() (zamiast entry->type) była gorsza — Dmod_OpenDir() na węźle urządzenia najwyraźniej zwracał sukces, co powodowało, że / był dopisywany natychmiast, nie dopiero po TAB.

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions