From 392f5f13d0a6a08e5f10ce08f1c43c7bec456862 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Mon, 27 Oct 2008 18:02:36 +0000 Subject: [PATCH] (AmigaOS4) Volume list implemented, courtesy of xeron. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@311 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- files.c | 48 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/files.c b/files.c index dca827d6..072fe1f9 100644 --- a/files.c +++ b/files.c @@ -35,9 +35,14 @@ #include #include +#ifdef __amigaos4__ +#include +#endif + #include "erreurs.h" #include "linux.h" + #ifdef __linux__ #include #define isHidden(Enreg) ((Enreg)->d_name[0]=='.') @@ -306,6 +311,22 @@ void Lire_liste_des_fichiers(byte Format_demande) Liste_Nb_elements=Liste_Nb_repertoires+Liste_Nb_fichiers; } + +#ifdef __amigaos4__ +void bstrtostr( BSTR in, STRPTR out, TEXT max ) +{ + STRPTR iptr; + uint32 i; + + iptr = BADDR( in ); + + if( max > iptr[0] ) max = iptr[0]; + + for( i=0; iLockDosList( LDF_VOLUMES | LDF_READ ); + if( dl ) + { + while( ( dl = IDOS->NextDosEntry( dl, LDF_VOLUMES | LDF_READ ) ) ) + { + bstrtostr( dl->dol_Name, tmp, 254 ); + strcat( tmp, ":" ); + Ajouter_element_a_la_liste( tmp, 2 ); + Liste_Nb_repertoires++; + } + IDOS->UnLockDosList( LDF_VOLUMES | LDF_READ ); + } + } // Other platforms: simply read the "static" list of Drives. #else