From: Toni Wilen Date: Wed, 8 Apr 2020 18:08:54 +0000 (+0300) Subject: Ini multientry support improvement. X-Git-Tag: 4400~84 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=71a36d7553b288ea9d0d396b3fbb1afcea8e7c04;p=francis%2Fwinuae.git Ini multientry support improvement. --- diff --git a/include/ini.h b/include/ini.h index 4cd5e77f..c4f32dbb 100644 --- a/include/ini.h +++ b/include/ini.h @@ -26,6 +26,7 @@ bool ini_save(struct ini_data *ini, const TCHAR *path); void ini_initcontext(struct ini_data *ini, struct ini_context *ctx); void ini_setlast(struct ini_data *ini, const TCHAR *section, const TCHAR *key, struct ini_context *ctx); void ini_setlastasstart(struct ini_data *ini, struct ini_context *ctx); +void ini_setnextasstart(struct ini_data *ini, struct ini_context *ctx); void ini_setcurrentasstart(struct ini_data *ini, struct ini_context *ctx); void ini_addnewstring(struct ini_data *ini, const TCHAR *section, const TCHAR *key, const TCHAR *val); @@ -46,4 +47,4 @@ bool ini_getsection(struct ini_data *ini, int idx, TCHAR **section); bool ini_addstring(struct ini_data *ini, const TCHAR *section, const TCHAR *key, const TCHAR *val); bool ini_delete(struct ini_data *ini, const TCHAR *section, const TCHAR *key); -bool ini_nextsection(struct ini_data *ini, TCHAR *section); \ No newline at end of file +bool ini_nextsection(struct ini_data *ini, TCHAR *section); diff --git a/ini.cpp b/ini.cpp index af3c45d6..864bd83c 100644 --- a/ini.cpp +++ b/ini.cpp @@ -495,6 +495,11 @@ void ini_setcurrentasstart(struct ini_data *ini, struct ini_context *ctx) ctx->start = ctx->lastpos; } +void ini_setnextasstart(struct ini_data *ini, struct ini_context *ctx) +{ + ctx->start = ctx->lastpos + 1; +} + void ini_setlast(struct ini_data *ini, const TCHAR *section, const TCHAR *key, struct ini_context *ctx) { for (int c = ctx->start + 1; c < ini->inilines; c++) {