summaryrefslogtreecommitdiffstats
path: root/src/lib/Plugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Plugin.cpp')
-rw-r--r--src/lib/Plugin.cpp75
1 files changed, 0 insertions, 75 deletions
diff --git a/src/lib/Plugin.cpp b/src/lib/Plugin.cpp
index bf237959..0c2137f5 100644
--- a/src/lib/Plugin.cpp
+++ b/src/lib/Plugin.cpp
@@ -39,78 +39,3 @@ void CPlugin::SetSettings(const map_plugin_settings_t& pSettings)
}
}
}
-
-bool LoadPluginSettings(const char *pPath, map_plugin_settings_t& pSettings,
- bool skipKeysWithoutValue /*= true*/)
-{
- FILE *fp = stdin;
- if (strcmp(pPath, "-") != 0)
- {
- fp = fopen(pPath, "r");
- if (!fp)
- return false;
- }
-
- char *line;
- while ((line = xmalloc_fgetline(fp)) != NULL)
- {
- unsigned ii;
- bool is_value = false;
- bool valid = false;
- bool in_quote = false;
- std::string key;
- std::string value;
- for (ii = 0; line[ii] != '\0'; ii++)
- {
- if (line[ii] == '"')
- {
- in_quote = !in_quote;
- }
- if (isspace(line[ii]) && !in_quote)
- {
- continue;
- }
- if (line[ii] == '#' && !in_quote && key == "")
- {
- break;
- }
- if (line[ii] == '=' && !in_quote)
- {
- is_value = true;
- valid = true;
- continue;
- }
- if (!is_value)
- {
- key += line[ii];
- }
- else
- {
- value += line[ii];
- }
- }
-
- /* Skip broken or empty lines. */
- if (!valid)
- goto free_line;
-
- /* Skip lines with empty key. */
- if (key.length() == 0)
- goto free_line;
-
- if (skipKeysWithoutValue && value.length() == 0)
- goto free_line;
-
- /* Skip lines with unclosed quotes. */
- if (in_quote)
- goto free_line;
-
- pSettings[key] = value;
- free_line:
- free(line);
- }
-
- if (fp != stdin)
- fclose(fp);
- return true;
-}