]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Ini multientry support improvement.
authorToni Wilen <twilen@winuae.net>
Wed, 8 Apr 2020 18:08:54 +0000 (21:08 +0300)
committerToni Wilen <twilen@winuae.net>
Wed, 8 Apr 2020 18:08:54 +0000 (21:08 +0300)
include/ini.h
ini.cpp

index 4cd5e77f75ef74e6571edda28541061537a21daf..c4f32dbb1759c8a14623fdf210603b7c33e4f852 100644 (file)
@@ -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 af3c45d6d52c68fe34357982ab3e0ffb80f348a9..864bd83cdbddad803b4c4fd0ee72324a09ff271e 100644 (file)
--- 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++) {