Hallo Meinhard,

> Was genau macht die Funktion hardware/storage/vfs_sd.c -> vfs_sd_chdir()  ?

Sie liefert einen Handle auf das Verzeichnis dirname.

> Wenn ich versuche, eine Datei in einem Unterverzeichnis anzulegen, geht es 
> auf 
> diese Weise schief:
[...]
>   // wird die Datei im Root- und nicht im Unterverzeichnis erzeugt..)

Du möchtest also eine Datei in einem Unterverzeichnis schreiben.

> Wenn ich vfs_sd_chdir jedoch gar nicht aufrufe, haut es hin (wenn das 
> Verzeichnis existiert).
[...]
> Kann mir jemand auf die Sprünge helfen?

vfs_sd_open (intern vfs_sd_create_open) öffnet die Datei name. Falls
der Name einen Pfad beinhaltet, wird zuvor in diesen mit vfs_sd_chdir()
gewechselt.

> Was macht  vfs_sd_chdir()?

Sie liefert einen Handle auf das Verzeichnis dirname.

> Deren Rückgabewert vom Typ struct fat_dir_struct * kann ich auch nirgendwo 
> weiterverwenden.

Doch, für vfs_sd_open_in().

> Über Tips wäre ich dankbar!

Dein Denkfehler ist, dass du eine konkrete Implementierung von VFS benutzt
und nicht das generische VFS-Interface, wie es in core/vfs/vfs.h definiert ist.
Alle diese Aufrufe erwarten einen absoluten Dateinamen, also mit Pfad.

-eku

_______________________________________________
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel

Antwort per Email an