Restored changes in main() that I overwrote in merge

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1127 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2009-10-31 18:11:13 +00:00
parent ba36fa675f
commit b2feccc039

50
main.c
View File

@ -170,18 +170,18 @@ void Error_function(int error_code, const char *filename, int line_number, const
} }
// --------------------- Analyse de la ligne de commande --------------------- // --------------------- Analyse de la ligne de commande ---------------------
void Analyze_command_line(int argc,char * argv[]) void Analyze_command_line(int argc, char * argv[])
{ {
char *buffer ; char *buffer ;
int index; int index;
File_in_command_line=0; File_in_command_line = 0;
Resolution_in_command_line=0; Resolution_in_command_line = 0;
Current_resolution=Config.Default_resolution; Current_resolution = Config.Default_resolution;
for (index=1; index<argc; index++) for (index = 1; index<argc; index++)
{ {
if ( !strcmp(argv[index],"/?") || if ( !strcmp(argv[index],"/?") ||
!strcmp(argv[index],"/h") || !strcmp(argv[index],"/h") ||
@ -198,7 +198,7 @@ void Analyze_command_line(int argc,char * argv[])
if (index<argc) if (index<argc)
{ {
Resolution_in_command_line = 1; Resolution_in_command_line = 1;
Current_resolution=Convert_videomode_arg(argv[index]); Current_resolution = Convert_videomode_arg(argv[index]);
if (Current_resolution == -1) if (Current_resolution == -1)
{ {
Error(ERROR_COMMAND_LINE); Error(ERROR_COMMAND_LINE);
@ -287,24 +287,31 @@ void Analyze_command_line(int argc,char * argv[])
else else
{ {
// Si ce n'est pas un paramètre, c'est le nom du fichier à ouvrir // Si ce n'est pas un paramètre, c'est le nom du fichier à ouvrir
if (File_in_command_line) if (File_in_command_line > 1)
{ {
// plusieurs noms de fichier en argument // Il y a déjà 2 noms de fichiers et on vient d'en trouver un 3ème
Error(ERROR_COMMAND_LINE); Error(ERROR_COMMAND_LINE);
Display_syntax(); Display_syntax();
exit(0); exit(0);
} }
else if (File_exists(argv[index])) else if (File_exists(argv[index]))
{ {
File_in_command_line=1; File_in_command_line ++;
buffer = Realpath(argv[index], NULL);
// On récupère le chemin complet du paramètre if (File_in_command_line == 1)
// Et on découpe ce chemin en répertoire(path) + fichier(.ext) {
buffer=Realpath(argv[index],NULL); // Separate path from filename
Extract_path(Main_file_directory, buffer); Extract_path(Main_file_directory, buffer);
Extract_filename(Main_filename, buffer); Extract_filename(Main_filename, buffer);
DEBUG(Main_filename, 0);
free(buffer);
} else {
Extract_path(Spare_file_directory, buffer);
Extract_filename(Spare_filename, buffer);
DEBUG(Spare_filename, 1);
free(buffer); free(buffer);
chdir(Main_file_directory); }
} }
else else
{ {
@ -546,7 +553,7 @@ int Init_program(int argc,char * argv[])
if (temp) if (temp)
Error(temp); Error(temp);
Analyze_command_line(argc,argv); Analyze_command_line(argc, argv);
Current_help_section=0; Current_help_section=0;
Help_position=0; Help_position=0;
@ -635,7 +642,7 @@ int Init_program(int argc,char * argv[])
// Brouillon_* et pas les infos contenues dans la page de brouillon // Brouillon_* et pas les infos contenues dans la page de brouillon
// elle-même ne m'inspire pas confiance mais ça a l'air de marcher sans // elle-même ne m'inspire pas confiance mais ça a l'air de marcher sans
// poser de problèmes, alors... // poser de problèmes, alors...
if (File_in_command_line) if (File_in_command_line == 1)
{ {
strcpy(Spare_file_directory,Spare_current_directory); strcpy(Spare_file_directory,Spare_current_directory);
strcpy(Spare_filename,"NO_NAME.GIF"); strcpy(Spare_filename,"NO_NAME.GIF");
@ -793,10 +800,19 @@ int main(int argc,char * argv[])
if (Config.Opening_message && (!File_in_command_line)) if (Config.Opening_message && (!File_in_command_line))
Button_Message_initial(); Button_Message_initial();
if (File_in_command_line) switch (File_in_command_line)
{ {
case 2:
Button_Reload(); Button_Reload();
Resolution_in_command_line=0; DEBUG(Main_filename, 0);
DEBUG(Spare_filename, 0);
Button_Page();
// no break ! proceed with the other file now
case 1:
Button_Reload();
Resolution_in_command_line = 0;
default:
break;
} }
} }
Main_handler(); Main_handler();