summaryrefslogtreecommitdiff
path: root/src/xdg-autostart-generator
diff options
context:
space:
mode:
Diffstat (limited to 'src/xdg-autostart-generator')
-rw-r--r--src/xdg-autostart-generator/test-xdg-autostart.c3
-rw-r--r--src/xdg-autostart-generator/xdg-autostart-service.c17
2 files changed, 11 insertions, 9 deletions
diff --git a/src/xdg-autostart-generator/test-xdg-autostart.c b/src/xdg-autostart-generator/test-xdg-autostart.c
index e18c918daa..7866d3a7b4 100644
--- a/src/xdg-autostart-generator/test-xdg-autostart.c
+++ b/src/xdg-autostart-generator/test-xdg-autostart.c
@@ -48,6 +48,8 @@ static const char* const xdg_desktop_file[] = {
("[Desktop Entry]\n"
"Hidden=\t true\n"),
+ ("[Desktop Entry]\n"
+ "Hidden=\t True\n"),
};
static void test_xdg_desktop_parse_one(unsigned i, const char *s) {
@@ -75,6 +77,7 @@ static void test_xdg_desktop_parse_one(unsigned i, const char *s) {
assert_se(streq(service->exec_string, "a"));
break;
case 2:
+ case 3:
assert_se(service->hidden);
break;
}
diff --git a/src/xdg-autostart-generator/xdg-autostart-service.c b/src/xdg-autostart-generator/xdg-autostart-service.c
index 75b6a62a97..56cc4ceeb9 100644
--- a/src/xdg-autostart-generator/xdg-autostart-service.c
+++ b/src/xdg-autostart-generator/xdg-autostart-service.c
@@ -8,15 +8,16 @@
#include "conf-parser.h"
#include "escape.h"
-#include "unit-name.h"
-#include "path-util.h"
#include "fd-util.h"
#include "generator.h"
#include "log.h"
+#include "nulstr-util.h"
+#include "parse-util.h"
+#include "path-util.h"
#include "specifier.h"
#include "string-util.h"
-#include "nulstr-util.h"
#include "strv.h"
+#include "unit-name.h"
XdgAutostartService* xdg_autostart_service_free(XdgAutostartService *s) {
if (!s)
@@ -74,18 +75,16 @@ static int xdg_config_parse_bool(
void *userdata) {
bool *b = ASSERT_PTR(data);
+ int r;
assert(filename);
assert(lvalue);
assert(rvalue);
- if (streq(rvalue, "true"))
- *b = true;
- else if (streq(rvalue, "false"))
- *b = false;
- else
+ r = parse_boolean(rvalue);
+ if (r < 0)
return log_syntax(unit, LOG_ERR, filename, line, SYNTHETIC_ERRNO(EINVAL), "Invalid value for boolean: %s", rvalue);
-
+ *b = r;
return 0;
}