More work on endianness,
fixed the save/load box to display names in 8+3 format, files can now be loaded in command-line. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@142 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
0eaba7e952
commit
37ca8d13aa
2
Makefile
2
Makefile
@ -3,7 +3,7 @@ ifdef COMSPEC
|
||||
DELCOMMAND = del
|
||||
BIN = grafx2.exe
|
||||
COPT = -Wall -O -g -ggdb -Dmain=SDL_main $(SCREEN)
|
||||
LOPT = -mwindows -lmingw32 -lSDLmain -lSDL
|
||||
LOPT = -mwindows -lmingw32 -lSDLmain -lSDL -lshlwapi
|
||||
else
|
||||
# Linux specific
|
||||
DELCOMMAND = rm -rf
|
||||
|
||||
14
files.c
14
files.c
@ -121,6 +121,7 @@ char * Nom_formate(char * Nom)
|
||||
static char Resultat[13];
|
||||
int Curseur;
|
||||
int Autre_curseur;
|
||||
int Pos_DernierPoint;
|
||||
|
||||
if (strcmp(Nom,"..")==0)
|
||||
{
|
||||
@ -131,12 +132,19 @@ char * Nom_formate(char * Nom)
|
||||
strcpy(Resultat," . ");
|
||||
// On commence par recopier la partie pr‚c‚dent le point:
|
||||
for (Curseur=0;( (Nom[Curseur]!='.') && (Nom[Curseur]!='\0') );Curseur++)
|
||||
Resultat[Curseur]=Nom[Curseur];
|
||||
{
|
||||
if (Curseur < 8)
|
||||
Resultat[Curseur]=Nom[Curseur];
|
||||
}
|
||||
// On recherche le dernier point dans le reste du nom
|
||||
for (Pos_DernierPoint = Curseur; Nom[Curseur]!='\0'; Curseur++)
|
||||
if (Nom[Curseur]=='.')
|
||||
Pos_DernierPoint = Curseur;
|
||||
|
||||
// Ensuite on recopie la partie qui suit le point (si n‚cessaire):
|
||||
if (Nom[Curseur])
|
||||
if (Nom[Pos_DernierPoint])
|
||||
{
|
||||
for (Curseur++,Autre_curseur=9;Nom[Curseur]!='\0';Curseur++,Autre_curseur++)
|
||||
for (Curseur = Pos_DernierPoint+1,Autre_curseur=9;Nom[Curseur]!='\0' && Autre_curseur < 12;Curseur++,Autre_curseur++)
|
||||
Resultat[Autre_curseur]=Nom[Curseur];
|
||||
}
|
||||
}
|
||||
|
||||
30
main.c
30
main.c
@ -26,7 +26,7 @@
|
||||
|
||||
#ifdef __linux__
|
||||
#include "linux.h" //Fichier avec diverses fonctions qui existaient sous dos mais pas sous linux...
|
||||
#elif __WATCOMC__
|
||||
#else
|
||||
#include <windows.h>
|
||||
#include <shlwapi.h>
|
||||
#define chdir(dir) SetCurrentDirectory(dir)
|
||||
@ -215,14 +215,28 @@ void Analyse_de_la_ligne_de_commande(int argc,char * argv[])
|
||||
#ifdef __linux__
|
||||
Buffer=realpath(argv[1],NULL);
|
||||
_splitpath(Buffer,Principal_Repertoire_fichier,Principal_Nom_fichier);
|
||||
#elif __WATCOMC__
|
||||
#else
|
||||
Buffer = malloc(MAX_PATH);
|
||||
PathCanonicalize(Buffer,argv[1]);
|
||||
_splitpath(Buffer,
|
||||
Principal_Repertoire_fichier,
|
||||
Principal_Repertoire_fichier+3,
|
||||
Principal_Nom_fichier,
|
||||
Principal_Nom_fichier+8);
|
||||
_fullpath(Buffer,argv[1],MAX_PATH);
|
||||
{
|
||||
// Découpage du nom canonique de fichier en chemin + nom.
|
||||
// On croirait que c'est du classique pour la LibC, mais non...
|
||||
int i;
|
||||
int PosDernierSeparateur = 0;
|
||||
for (i=0; Buffer[i]!='\0'; i++)
|
||||
{
|
||||
Principal_Repertoire_fichier[i] = Buffer[i];
|
||||
if (Buffer[i]=='\\')
|
||||
PosDernierSeparateur = i;
|
||||
}
|
||||
Principal_Repertoire_fichier[PosDernierSeparateur]='\0';
|
||||
for (i=0; Buffer[PosDernierSeparateur + i + 1]!='\0'; i++)
|
||||
{
|
||||
Principal_Nom_fichier[i] = Buffer[PosDernierSeparateur + i + 1];
|
||||
}
|
||||
Principal_Nom_fichier[i]='\0';
|
||||
|
||||
}
|
||||
free(Buffer);
|
||||
#endif
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user