summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-08-09 09:41:51 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-08-09 10:27:32 -0400
commit0d4752e3f6b7558ce260fff04c70af643d222172 (patch)
tree7e3aa32f41188a0b5519e86d725ed55ee9ab86d0
parent08c4b708ae52dc6bb5848b72a897e7790da5dd9e (diff)
downloadrockbox-0d4752e.tar.gz
rockbox-0d4752e.zip
plugins: Make 'struct configdata' argument to the configfile helper const
So plugins can use const structures, possibly saving a little bit of RAM. Change-Id: I15b0ef20e7554caf5f6d1c12f6ab109ddf3c0dbd
-rw-r--r--apps/plugins/lib/configfile.c20
-rw-r--r--apps/plugins/lib/configfile.h4
2 files changed, 12 insertions, 12 deletions
diff --git a/apps/plugins/lib/configfile.c b/apps/plugins/lib/configfile.c
index ab1e21ad4a..2ab8f77e26 100644
--- a/apps/plugins/lib/configfile.c
+++ b/apps/plugins/lib/configfile.c
@@ -42,7 +42,7 @@ static void get_cfg_filename(char* buf, int buf_len, const char* filename)
#endif
}
-int configfile_save(const char *filename, struct configdata *cfg,
+int configfile_save(const char *filename, const struct configdata *cfg,
int num_items, int version)
{
int fd;
@@ -56,7 +56,7 @@ int configfile_save(const char *filename, struct configdata *cfg,
/* pre-allocate 10 bytes for INT */
rb->fdprintf(fd, "file version: %10d\n", version);
-
+
for(i = 0;i < num_items;i++) {
switch(cfg[i].type) {
case TYPE_INT:
@@ -91,7 +91,7 @@ int configfile_save(const char *filename, struct configdata *cfg,
return 0;
}
-int configfile_load(const char *filename, struct configdata *cfg,
+int configfile_load(const char *filename, const struct configdata *cfg,
int num_items, int min_version)
{
int fd;
@@ -118,7 +118,7 @@ int configfile_load(const char *filename, struct configdata *cfg,
return -1;
}
}
-
+
for(i = 0;i < num_items;i++) {
if(!rb->strcmp(cfg[i].name, name)) {
switch(cfg[i].type) {
@@ -149,7 +149,7 @@ int configfile_load(const char *filename, struct configdata *cfg,
}
}
}
-
+
rb->close(fd);
return 0;
}
@@ -190,13 +190,13 @@ int configfile_update_entry(const char* filename, const char* name, int val)
int found = 0;
int line_len = 0;
int pos = 0;
-
+
/* open the current config file */
get_cfg_filename(path, MAX_PATH, filename);
fd = rb->open(path, O_RDWR);
if(fd < 0)
return -1;
-
+
/* read in the current stored settings */
while((line_len = rb->read_line(fd, buf, 256)) > 0)
{
@@ -211,13 +211,13 @@ int configfile_update_entry(const char* filename, const char* name, int val)
}
pos += line_len;
}
-
+
/* if (name/val) is a new entry just append to file */
if (found == 0)
/* pre-allocate 10 bytes for INT */
rb->fdprintf(fd, "%s: %10d\n", name, val);
-
+
rb->close(fd);
-
+
return found;
}
diff --git a/apps/plugins/lib/configfile.h b/apps/plugins/lib/configfile.h
index 4a980b4e67..69869142e2 100644
--- a/apps/plugins/lib/configfile.h
+++ b/apps/plugins/lib/configfile.h
@@ -45,10 +45,10 @@ struct configdata
/* configfile_save - Given configdata entries this function will
create a config file with these entries, destroying any
previous config file of the same name */
-int configfile_save(const char *filename, struct configdata *cfg,
+int configfile_save(const char *filename, const struct configdata *cfg,
int num_items, int version);
-int configfile_load(const char *filename, struct configdata *cfg,
+int configfile_load(const char *filename, const struct configdata *cfg,
int num_items, int min_version);
/* configfile_get_value - Given a key name, this function will