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
|
DELCOMMAND = del
|
||||||
BIN = grafx2.exe
|
BIN = grafx2.exe
|
||||||
COPT = -Wall -O -g -ggdb -Dmain=SDL_main $(SCREEN)
|
COPT = -Wall -O -g -ggdb -Dmain=SDL_main $(SCREEN)
|
||||||
LOPT = -mwindows -lmingw32 -lSDLmain -lSDL
|
LOPT = -mwindows -lmingw32 -lSDLmain -lSDL -lshlwapi
|
||||||
else
|
else
|
||||||
# Linux specific
|
# Linux specific
|
||||||
DELCOMMAND = rm -rf
|
DELCOMMAND = rm -rf
|
||||||
|
|||||||
12
files.c
12
files.c
@ -121,6 +121,7 @@ char * Nom_formate(char * Nom)
|
|||||||
static char Resultat[13];
|
static char Resultat[13];
|
||||||
int Curseur;
|
int Curseur;
|
||||||
int Autre_curseur;
|
int Autre_curseur;
|
||||||
|
int Pos_DernierPoint;
|
||||||
|
|
||||||
if (strcmp(Nom,"..")==0)
|
if (strcmp(Nom,"..")==0)
|
||||||
{
|
{
|
||||||
@ -131,12 +132,19 @@ char * Nom_formate(char * Nom)
|
|||||||
strcpy(Resultat," . ");
|
strcpy(Resultat," . ");
|
||||||
// On commence par recopier la partie pr‚c‚dent le point:
|
// On commence par recopier la partie pr‚c‚dent le point:
|
||||||
for (Curseur=0;( (Nom[Curseur]!='.') && (Nom[Curseur]!='\0') );Curseur++)
|
for (Curseur=0;( (Nom[Curseur]!='.') && (Nom[Curseur]!='\0') );Curseur++)
|
||||||
|
{
|
||||||
|
if (Curseur < 8)
|
||||||
Resultat[Curseur]=Nom[Curseur];
|
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):
|
// 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];
|
Resultat[Autre_curseur]=Nom[Curseur];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
30
main.c
30
main.c
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
#include "linux.h" //Fichier avec diverses fonctions qui existaient sous dos mais pas sous linux...
|
#include "linux.h" //Fichier avec diverses fonctions qui existaient sous dos mais pas sous linux...
|
||||||
#elif __WATCOMC__
|
#else
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <shlwapi.h>
|
#include <shlwapi.h>
|
||||||
#define chdir(dir) SetCurrentDirectory(dir)
|
#define chdir(dir) SetCurrentDirectory(dir)
|
||||||
@ -215,14 +215,28 @@ void Analyse_de_la_ligne_de_commande(int argc,char * argv[])
|
|||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
Buffer=realpath(argv[1],NULL);
|
Buffer=realpath(argv[1],NULL);
|
||||||
_splitpath(Buffer,Principal_Repertoire_fichier,Principal_Nom_fichier);
|
_splitpath(Buffer,Principal_Repertoire_fichier,Principal_Nom_fichier);
|
||||||
#elif __WATCOMC__
|
#else
|
||||||
Buffer = malloc(MAX_PATH);
|
Buffer = malloc(MAX_PATH);
|
||||||
PathCanonicalize(Buffer,argv[1]);
|
_fullpath(Buffer,argv[1],MAX_PATH);
|
||||||
_splitpath(Buffer,
|
{
|
||||||
Principal_Repertoire_fichier,
|
// Découpage du nom canonique de fichier en chemin + nom.
|
||||||
Principal_Repertoire_fichier+3,
|
// On croirait que c'est du classique pour la LibC, mais non...
|
||||||
Principal_Nom_fichier,
|
int i;
|
||||||
Principal_Nom_fichier+8);
|
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);
|
free(Buffer);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user