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
This commit is contained in:
Adrien Destugues 2009-01-20 18:33:50 +00:00
parent fec8d023e9
commit 0f2d642847
5 changed files with 31 additions and 10 deletions

View File

@ -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

View File

@ -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,

View File

@ -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}))

11
files.c
View File

@ -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);

2
io.c
View File

@ -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
{