From b2feccc039cb4675791921f90d1da13e74ddb2bd Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Sat, 31 Oct 2009 18:11:13 +0000 Subject: [PATCH] Restored changes in main() that I overwrote in merge git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1127 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- main.c | 50 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/main.c b/main.c index ade4ba8e..2ce2d961 100644 --- a/main.c +++ b/main.c @@ -170,18 +170,18 @@ void Error_function(int error_code, const char *filename, int line_number, const } // --------------------- Analyse de la ligne de commande --------------------- -void Analyze_command_line(int argc,char * argv[]) +void Analyze_command_line(int argc, char * argv[]) { char *buffer ; int index; - File_in_command_line=0; - Resolution_in_command_line=0; + File_in_command_line = 0; + Resolution_in_command_line = 0; - Current_resolution=Config.Default_resolution; + Current_resolution = Config.Default_resolution; - for (index=1; index 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); Display_syntax(); exit(0); } 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 - // Et on découpe ce chemin en répertoire(path) + fichier(.ext) - buffer=Realpath(argv[index],NULL); + if (File_in_command_line == 1) + { + // Separate path from filename Extract_path(Main_file_directory, 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); - chdir(Main_file_directory); + } } else { @@ -546,7 +553,7 @@ int Init_program(int argc,char * argv[]) if (temp) Error(temp); - Analyze_command_line(argc,argv); + Analyze_command_line(argc, argv); Current_help_section=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 // elle-même ne m'inspire pas confiance mais ça a l'air de marcher sans // 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_filename,"NO_NAME.GIF"); @@ -793,10 +800,19 @@ int main(int argc,char * argv[]) if (Config.Opening_message && (!File_in_command_line)) Button_Message_initial(); - if (File_in_command_line) + switch (File_in_command_line) { + case 2: 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();