Fix issue 166: Bookmarks now allow characters # and ;
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@811 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
1b06317924
commit
4f157197e8
41
readini.c
41
readini.c
@ -27,7 +27,7 @@
|
|||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "readini.h"
|
#include "readini.h"
|
||||||
|
|
||||||
void Load_INI_clear_string(char * str)
|
void Load_INI_clear_string(char * str, byte keep_comments)
|
||||||
{
|
{
|
||||||
int index;
|
int index;
|
||||||
int equal_found=0;
|
int equal_found=0;
|
||||||
@ -48,12 +48,14 @@ void Load_INI_clear_string(char * str)
|
|||||||
memmove(str+index,str+index+1,strlen(str+index));
|
memmove(str+index,str+index+1,strlen(str+index));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if ((str[index]==';') ||
|
if (!keep_comments && ((str[index]==';') || (str[index]=='#')))
|
||||||
(str[index]=='#') ||
|
|
||||||
(str[index]=='\r') ||
|
|
||||||
(str[index]=='\n'))
|
|
||||||
{
|
{
|
||||||
// Rencontre d'un commentaire ou d'un saut de ligne:
|
// Comment
|
||||||
|
str[index]='\0';
|
||||||
|
}
|
||||||
|
else if ((str[index]=='\r') || (str[index]=='\n'))
|
||||||
|
{
|
||||||
|
// Line break
|
||||||
str[index]='\0';
|
str[index]='\0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -115,7 +117,7 @@ int Load_INI_reach_group(FILE * file,char * buffer,char * group)
|
|||||||
|
|
||||||
// On commence par se faire une version majuscule du groupe à rechercher:
|
// On commence par se faire une version majuscule du groupe à rechercher:
|
||||||
strcpy(group_upper,group);
|
strcpy(group_upper,group);
|
||||||
Load_INI_clear_string(group_upper);
|
Load_INI_clear_string(group_upper, 0);
|
||||||
|
|
||||||
stop_seek=0;
|
stop_seek=0;
|
||||||
do
|
do
|
||||||
@ -132,7 +134,7 @@ int Load_INI_reach_group(FILE * file,char * buffer,char * group)
|
|||||||
|
|
||||||
// On s'en fait une version en majuscule:
|
// On s'en fait une version en majuscule:
|
||||||
strcpy(upper_buffer,buffer);
|
strcpy(upper_buffer,buffer);
|
||||||
Load_INI_clear_string(upper_buffer);
|
Load_INI_clear_string(upper_buffer, 0);
|
||||||
|
|
||||||
// On compare la chaîne avec le groupe recherché:
|
// On compare la chaîne avec le groupe recherché:
|
||||||
stop_seek=Load_INI_seek_pattern(upper_buffer,group_upper);
|
stop_seek=Load_INI_seek_pattern(upper_buffer,group_upper);
|
||||||
@ -145,7 +147,14 @@ int Load_INI_reach_group(FILE * file,char * buffer,char * group)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Load_INI_get_string(FILE * file,char * buffer,char * option_name,char * return_code)
|
///
|
||||||
|
/// Find the next string in the .INI file.
|
||||||
|
/// @param file INI file currently opened
|
||||||
|
/// @param buffer Current text buffer, preserved from one call to the next
|
||||||
|
/// @param option_name string to search
|
||||||
|
/// @param return_code the found value will be copied there. (must be allocaed)
|
||||||
|
/// @param raw_text Boolean: true to return the raw value (up to end-of-line), false to strip comments.
|
||||||
|
int Load_INI_get_string(FILE * file,char * buffer,char * option_name,char * return_code, byte raw_text)
|
||||||
{
|
{
|
||||||
int stop_seek;
|
int stop_seek;
|
||||||
char * option_upper;
|
char * option_upper;
|
||||||
@ -158,7 +167,7 @@ int Load_INI_get_string(FILE * file,char * buffer,char * option_name,char * retu
|
|||||||
|
|
||||||
// On commence par se faire une version majuscule de l'option à rechercher:
|
// On commence par se faire une version majuscule de l'option à rechercher:
|
||||||
strcpy(option_upper,option_name);
|
strcpy(option_upper,option_name);
|
||||||
Load_INI_clear_string(option_upper);
|
Load_INI_clear_string(option_upper, 0);
|
||||||
|
|
||||||
stop_seek=0;
|
stop_seek=0;
|
||||||
do
|
do
|
||||||
@ -175,7 +184,7 @@ int Load_INI_get_string(FILE * file,char * buffer,char * option_name,char * retu
|
|||||||
|
|
||||||
// On s'en fait une version en majuscule:
|
// On s'en fait une version en majuscule:
|
||||||
strcpy(upper_buffer,buffer);
|
strcpy(upper_buffer,buffer);
|
||||||
Load_INI_clear_string(upper_buffer);
|
Load_INI_clear_string(upper_buffer, raw_text);
|
||||||
|
|
||||||
// On compare la chaîne avec l'option recherchée:
|
// On compare la chaîne avec l'option recherchée:
|
||||||
stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper);
|
stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper);
|
||||||
@ -338,7 +347,7 @@ int Load_INI_get_values(FILE * file,char * buffer,char * option_name,int nb_expe
|
|||||||
|
|
||||||
// On commence par se faire une version majuscule de l'option à rechercher:
|
// On commence par se faire une version majuscule de l'option à rechercher:
|
||||||
strcpy(option_upper,option_name);
|
strcpy(option_upper,option_name);
|
||||||
Load_INI_clear_string(option_upper);
|
Load_INI_clear_string(option_upper, 0);
|
||||||
|
|
||||||
stop_seek=0;
|
stop_seek=0;
|
||||||
do
|
do
|
||||||
@ -355,7 +364,7 @@ int Load_INI_get_values(FILE * file,char * buffer,char * option_name,int nb_expe
|
|||||||
|
|
||||||
// On s'en fait une version en majuscule:
|
// On s'en fait une version en majuscule:
|
||||||
strcpy(upper_buffer,buffer);
|
strcpy(upper_buffer,buffer);
|
||||||
Load_INI_clear_string(upper_buffer);
|
Load_INI_clear_string(upper_buffer, 0);
|
||||||
|
|
||||||
// On compare la chaîne avec l'option recherchée:
|
// On compare la chaîne avec l'option recherchée:
|
||||||
stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper);
|
stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper);
|
||||||
@ -694,7 +703,7 @@ int Load_INI(T_Config * conf)
|
|||||||
|
|
||||||
// Optionnel, le mode video par défaut (à partir de beta 97.0%)
|
// Optionnel, le mode video par défaut (à partir de beta 97.0%)
|
||||||
conf->Default_resolution=0;
|
conf->Default_resolution=0;
|
||||||
if (!Load_INI_get_string (file,buffer,"Default_video_mode",value_label))
|
if (!Load_INI_get_string (file,buffer,"Default_video_mode",value_label, 0))
|
||||||
{
|
{
|
||||||
int mode = Convert_videomode_arg(value_label);
|
int mode = Convert_videomode_arg(value_label);
|
||||||
if (mode>=0)
|
if (mode>=0)
|
||||||
@ -745,7 +754,7 @@ int Load_INI(T_Config * conf)
|
|||||||
}
|
}
|
||||||
for (index=0;index<NB_BOOKMARKS;index++)
|
for (index=0;index<NB_BOOKMARKS;index++)
|
||||||
{
|
{
|
||||||
if (!Load_INI_get_string (file,buffer,"Bookmark_label",value_label))
|
if (!Load_INI_get_string (file,buffer,"Bookmark_label",value_label, 1))
|
||||||
{
|
{
|
||||||
int size=strlen(value_label);
|
int size=strlen(value_label);
|
||||||
if (size!=0)
|
if (size!=0)
|
||||||
@ -760,7 +769,7 @@ int Load_INI(T_Config * conf)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
if (!Load_INI_get_string (file,buffer,"Bookmark_directory",value_label))
|
if (!Load_INI_get_string (file,buffer,"Bookmark_directory",value_label, 1))
|
||||||
{
|
{
|
||||||
int size=strlen(value_label);
|
int size=strlen(value_label);
|
||||||
if (size!=0)
|
if (size!=0)
|
||||||
|
|||||||
@ -24,4 +24,4 @@
|
|||||||
|
|
||||||
int Load_INI(T_Config * conf);
|
int Load_INI(T_Config * conf);
|
||||||
int Load_INI_seek_pattern(char * buffer,char * pattern);
|
int Load_INI_seek_pattern(char * buffer,char * pattern);
|
||||||
void Load_INI_clear_string(char * str);
|
void Load_INI_clear_string(char * str, byte keep_comments);
|
||||||
|
|||||||
12
saveini.c
12
saveini.c
@ -41,7 +41,7 @@ int Save_INI_reach_group(FILE * old_file,FILE * new_file,char * buffer,char * gr
|
|||||||
|
|
||||||
// On commence par se faire une version majuscule du groupe à rechercher:
|
// On commence par se faire une version majuscule du groupe à rechercher:
|
||||||
strcpy(group_upper,group);
|
strcpy(group_upper,group);
|
||||||
Load_INI_clear_string(group_upper);
|
Load_INI_clear_string(group_upper, 0);
|
||||||
|
|
||||||
stop_seek=0;
|
stop_seek=0;
|
||||||
do
|
do
|
||||||
@ -56,7 +56,7 @@ int Save_INI_reach_group(FILE * old_file,FILE * new_file,char * buffer,char * gr
|
|||||||
|
|
||||||
// On s'en fait une version en majuscule:
|
// On s'en fait une version en majuscule:
|
||||||
strcpy(upper_buffer,buffer);
|
strcpy(upper_buffer,buffer);
|
||||||
Load_INI_clear_string(upper_buffer);
|
Load_INI_clear_string(upper_buffer, 0);
|
||||||
|
|
||||||
// On compare la chaîne avec le groupe recherché:
|
// On compare la chaîne avec le groupe recherché:
|
||||||
stop_seek=Load_INI_seek_pattern(upper_buffer,group_upper);
|
stop_seek=Load_INI_seek_pattern(upper_buffer,group_upper);
|
||||||
@ -249,7 +249,7 @@ int Save_INI_set_strings(FILE * old_file,FILE * new_file,char * buffer,char * op
|
|||||||
|
|
||||||
// On commence par se faire une version majuscule de l'option à rechercher:
|
// On commence par se faire une version majuscule de l'option à rechercher:
|
||||||
strcpy(option_upper,option_name);
|
strcpy(option_upper,option_name);
|
||||||
Load_INI_clear_string(option_upper);
|
Load_INI_clear_string(option_upper, 0);
|
||||||
|
|
||||||
stop_seek=0;
|
stop_seek=0;
|
||||||
do
|
do
|
||||||
@ -265,7 +265,7 @@ int Save_INI_set_strings(FILE * old_file,FILE * new_file,char * buffer,char * op
|
|||||||
|
|
||||||
// On s'en fait une version en majuscule:
|
// On s'en fait une version en majuscule:
|
||||||
strcpy(upper_buffer,buffer);
|
strcpy(upper_buffer,buffer);
|
||||||
Load_INI_clear_string(upper_buffer);
|
Load_INI_clear_string(upper_buffer, 0);
|
||||||
|
|
||||||
// On compare la chaîne avec l'option recherchée:
|
// On compare la chaîne avec l'option recherchée:
|
||||||
stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper);
|
stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper);
|
||||||
@ -320,7 +320,7 @@ int Save_INI_set_values(FILE * old_file,FILE * new_file,char * buffer,char * opt
|
|||||||
|
|
||||||
// On commence par se faire une version majuscule de l'option à rechercher:
|
// On commence par se faire une version majuscule de l'option à rechercher:
|
||||||
strcpy(option_upper,option_name);
|
strcpy(option_upper,option_name);
|
||||||
Load_INI_clear_string(option_upper);
|
Load_INI_clear_string(option_upper, 0);
|
||||||
|
|
||||||
stop_seek=0;
|
stop_seek=0;
|
||||||
do
|
do
|
||||||
@ -336,7 +336,7 @@ int Save_INI_set_values(FILE * old_file,FILE * new_file,char * buffer,char * opt
|
|||||||
|
|
||||||
// On s'en fait une version en majuscule:
|
// On s'en fait une version en majuscule:
|
||||||
strcpy(upper_buffer,buffer);
|
strcpy(upper_buffer,buffer);
|
||||||
Load_INI_clear_string(upper_buffer);
|
Load_INI_clear_string(upper_buffer, 0);
|
||||||
|
|
||||||
// On compare la chaîne avec l'option recherchée:
|
// On compare la chaîne avec l'option recherchée:
|
||||||
stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper);
|
stop_seek=Load_INI_seek_pattern(upper_buffer,option_upper);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user