improve ini reader performance

This commit is contained in:
FunkyFr3sh 2023-10-17 18:13:35 +02:00
parent 488d4ea567
commit d7ed6bd7bc
4 changed files with 182 additions and 50 deletions

View file

@ -1,8 +1,8 @@
#ifndef CONFIG_H
#define CONFIG_H
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include "ini.h"
#define FILE_EXISTS(a) (GetFileAttributes(a) != INVALID_FILE_ATTRIBUTES)
@ -15,6 +15,7 @@ typedef struct CNCDDRAWCONFIG
char game_path[MAX_PATH];
char process_file_name[MAX_PATH];
char process_file_ext[MAX_PATH];
INIFILE ini;
/* Optional settings */

View file

@ -1,6 +1,20 @@
#ifndef INI_H
#define INI_H
BOOL ini_section_exists(char* section);
typedef struct
{
char filename[MAX_PATH];
struct {
unsigned long hash;
char* data;
}*sections;
} INIFILE;
void ini_create(INIFILE* ini, char* filename);
DWORD ini_get_string(INIFILE* ini, LPCSTR section, LPCSTR key, LPCSTR def, LPSTR buf, DWORD size);
BOOL ini_get_bool(INIFILE* ini, LPCSTR section, LPCSTR key, BOOL def);
int ini_get_int(INIFILE* ini, LPCSTR section, LPCSTR key, int def);
void ini_free(INIFILE* ini);
#endif