A simple .ini file interface.
Dependents: Smart-WiFly-WebServer SignalGenerator WattEye X10Svr
Revision 23:18b5f3d7ef14, committed 2018-03-31
- Comitter:
- WiredHome
- Date:
- Sat Mar 31 23:36:47 2018 +0000
- Parent:
- 22:1ad96fcc5731
- Child:
- 24:ba5fa9548f59
- Commit message:
- ReadString - now defaults as intended if the file is not found, but a default string is provided.
Changed in this revision
| IniManager.cpp | Show annotated file Show diff for this revision Revisions of this file |
| IniManager.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/IniManager.cpp Sat Mar 31 21:07:53 2018 +0000
+++ b/IniManager.cpp Sat Mar 31 23:36:47 2018 +0000
@@ -207,7 +207,9 @@
INFO("ReadString from %s", iniFile);
FILE * fp = fopen(iniFile,"rt");
if (!fp) {
- return RetXLate[INI_FILE_NOT_FOUND][version];
+ if (defaultString == NULL) {
+ return RetXLate[INI_FILE_NOT_FOUND][version];
+ }
} else {
char buf[INTERNAL_BUF_SIZE];
bool inSection = (section == NULL) ? true : false;
--- a/IniManager.h Sat Mar 31 21:07:53 2018 +0000
+++ b/IniManager.h Sat Mar 31 23:36:47 2018 +0000
@@ -25,9 +25,24 @@
*
* Also, an internal stack-frame buffer is used to manage the read operations. As
* such, no single record in the file can exceed this buffer size (compile time set
-* with a default of 250 bytes). A single record for a section is surrounded with
-* '[' and ']' and a new line appended. A single record for an entry within a
-* section for a key, value pair is separated with an '=' and a new line appended.
+* with a default of 250 bytes).
+*
+* @code
+* INI ini("/local/settings.ini");
+* ...
+* char buf[10];
+* sprintf_s(buf, 10, "%d", daymask);
+* if (INI::INI_SUCCESS == ini.WriteString("Alarm", "Daymask", buf)) {
+* ...
+* }
+* ...
+* uint8_t x = (uint8_t)ReadLongInt("Alarm", "Daymask", 0);
+* ...
+* @endcode
+*
+* A single record for a section is surrounded with '[' and ']' and a new line
+* appended. A single record for an entry within a section for a key, value pair
+* is separated with an '=' and a new line appended.
* @code
* [section name]
* Key name=value for Key name