From 0f2d6428473640a638215af594dbd26e54fd09df Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 20 Jan 2009 18:33:50 +0000 Subject: [PATCH] Amiga systems use / and not .. for parent dir. Takes this into account... git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@498 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- Makefile | 14 ++++++++++++-- boutons.c | 8 ++++---- const.h | 6 ++++++ files.c | 11 ++++++++--- io.c | 2 +- 5 files changed, 31 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index c9591a65..64f5a4ac 100644 --- a/Makefile +++ b/Makefile @@ -47,6 +47,7 @@ ifdef COMSPEC CFGOBJRES = $(OBJDIR)/wincfgres.o PLATFORM = win32 #no uname so we'll do that ourselve PLATFORMFILES = SDL.dll SDL_image.dll libpng13.dll zlib1.dll gfxcfg.ico grafx2.ico $(TTFLIBS) #some misc files we have to add to the release archive under windows. + ZIP = zip else PLATFORM = $(shell uname) @@ -63,7 +64,8 @@ else LOPT = `sdl-config --libs` -lSDL_image -lpng -ljpeg -lz $(TTFLOPT) -lft2 CC = gcc OBJDIR = obj/amiga -# NOTTF = 1 + ZIP = lha + ZIPOPT = a else #AROS specific @@ -78,6 +80,8 @@ else LOPT = -lSDL_image `sdl-config --libs` -lpng -ljpeg -lz $(TTFLOPT) -lfreetype2shared CC = gcc OBJDIR = obj/aros + ZIP = lha + ZIPOPT = a else #MorphOS specific @@ -92,6 +96,8 @@ else LOPT = -lSDL_image `sdl-config --libs` -lpng -ljpeg -lz $(TTFLOPT) CC = gcc OBJDIR = obj/morphos + ZIP = lha + ZIPOPT = a else #BeOS specific @@ -106,6 +112,7 @@ else LOPT = `sdl-config --libs` -lSDL_image -lpng -ljpeg -lz $(TTFLOPT) CC = gcc OBJDIR = obj/beos + ZIP = zip else #Haiku specific @@ -120,6 +127,7 @@ else LOPT = `sdl-config --libs` -lSDL_image -lpng -ljpeg -lz $(TTFLOPT) CC = gcc OBJDIR = obj/haiku + ZIP = zip else #SkyOS specific @@ -134,6 +142,7 @@ else LOPT = `sdl-config --libs` -lSDL_image -lpng -ljpeg -lz $(TTFLOPT) CC = gcc OBJDIR = obj/skyos + ZIP = zip else # Linux specific @@ -141,6 +150,7 @@ else MKDIR = mkdir -p RMDIR = rmdir CP = cp + ZIP = zip ifdef WIN32CROSS #cross compile a Win32 executable @@ -214,7 +224,7 @@ release : $(BIN) $(CFGBIN) # A release zip archive ziprelease: version $(BIN) $(BINCFG) release tar cvzf src-svn`svnversion | sed 's/:/-/'`.tgz *.c *.h Makefile Makefile.dep gfx2.ico gfx2cfg.ico - zip grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-$(PLATFORM).zip $(BIN) $(CFGBIN) gfx2.dat gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png doc/README-zlib1.txt doc/README-SDL.txt doc/README-SDL_image.txt doc/README-SDL_ttf.txt fonts/Tuffy.ttf src-svn`svnversion | sed 's/:/-/'`.tgz $(PLATFORMFILES) + $(ZIP) $(ZIPOPT) grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-$(PLATFORM).$(ZIP) $(BIN) $(CFGBIN) gfx2.dat gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png doc/README-zlib1.txt doc/README-SDL.txt doc/README-SDL_image.txt doc/README-SDL_ttf.txt fonts/Tuffy.ttf src-svn`svnversion | sed 's/:/-/'`.tgz $(PLATFORMFILES) $(DELCOMMAND) src-svn`svnversion | sed 's/:/-/'`.tgz tar cvzf grafx2-svn`svnversion | sed 's/:/-/'`$(TTFLABEL)-src.tgz *.c *.h Makefile Makefile.dep gfx2.dat gfx2.ico gfx2cfg.ico gfx2.gif gfx2cfg.gif doc/gpl-2.0.txt fonts/8pxfont.png fonts/Tuffy.ttf diff --git a/boutons.c b/boutons.c index 691e2b62..ad47dd92 100644 --- a/boutons.c +++ b/boutons.c @@ -2897,10 +2897,10 @@ byte Bouton_Load_ou_Save(byte Load, byte Image) case SDLK_BACKSPACE : // Backspace *Fichier_recherche=0; // Si le choix ".." est bien en tête des propositions... - if (!strcmp(Liste_du_fileselect->NomComplet,"..")) + if (!strcmp(Liste_du_fileselect->NomComplet,PARENT_DIR)) { // On va dans le répertoire parent. - strcpy(Principal_Nom_fichier,".."); + strcpy(Principal_Nom_fichier,PARENT_DIR); Type_selectionne=1; On_a_clicke_sur_OK=1; } @@ -2947,8 +2947,8 @@ byte Bouton_Load_ou_Save(byte Load, byte Image) On_a_clicke_sur_OK=0; // On mémorise le répertoire dans lequel on était - if (strcmp(Principal_Nom_fichier,"..")) - strcpy(Repertoire_precedent,Nom_formate("..", 1)); + if (strcmp(Principal_Nom_fichier,PARENT_DIR)) + strcpy(Repertoire_precedent,Nom_formate(PARENT_DIR, 1)); else { strcpy(Repertoire_precedent, diff --git a/const.h b/const.h index fa354327..8774c12c 100644 --- a/const.h +++ b/const.h @@ -83,6 +83,12 @@ #define PROPORTION_SPLIT 0.3 // proportion de la zone non-zoomée en largeur par rapport à l'écran #define NB_PIXELS_ZOOMES_MIN 4 // Nombre minimal de pixels zoomés en largeur (Note: En dessous de 4, on ne peut plus scroller!) +#if defined(__MORPHOS__) || defined(__amigaos4__) || defined(__amigaos__) + #define PARENT_DIR "/" +#else + #define PARENT_DIR ".." +#endif + // Les différents formats de fichiers: #define NB_FORMATS_CONNUS 12 // Nombre de formats connus (devrait être la valeur maximale de NB_FORMATS_LOAD et NB_FORMATS_SAVE, mais plus généralement: Card({NB_FORMATS_LOAD} UNION {NB_FORMATS_SAVE})) diff --git a/files.c b/files.c index e3aa8afe..95c3be0a 100644 --- a/files.c +++ b/files.c @@ -107,9 +107,9 @@ char * Nom_formate(char * Nom, int Type) int Autre_curseur; int Pos_DernierPoint; - if (strcmp(Nom,"..")==0) + if (strcmp(Nom,PARENT_DIR)==0) { - strcpy(Resultat,".. "); + strcpy(Resultat,"<-PARENT DIR"); } else if (Nom[0]=='.' || Type==2) { @@ -239,7 +239,7 @@ void Lire_liste_des_fichiers(byte Format_demande) // et que l'élément trouvé est un répertoire if( S_ISDIR(Infos_enreg.st_mode) && // et que c'est ".." - (!strcmp(Enreg->d_name, "..") || + (!strcmp(Enreg->d_name, PARENT_DIR) || // ou qu'il n'est pas caché Config.Lire_les_repertoires_caches || !isHidden(Enreg))) @@ -261,6 +261,11 @@ void Lire_liste_des_fichiers(byte Format_demande) } } +#if defined(__MORPHOS__) || defined (__amigaos4__) || defined(__amigaos__) + Ajouter_element_a_la_liste("/",1); // on amiga systems, / means parent. And there is no .. + Liste_Nb_Repertoires ++; +#endif + closedir(Repertoire_Courant); free(Chemin_courant); diff --git a/io.c b/io.c index 8f5ba874..1658fd5d 100644 --- a/io.c +++ b/io.c @@ -226,7 +226,7 @@ int Repertoire_existe(char * Repertoire) { DIR* Enreg; // Structure de lecture des éléments - if (strcmp(Repertoire,"..")==0) + if (strcmp(Repertoire,PARENT_DIR)==0) return 1; else {