assert_se(*e == ',');
/* Check if this really is locale independent */
- setlocale(LC_NUMERIC, "de_DE.utf8");
+ if (setlocale(LC_NUMERIC, "de_DE.utf8")) {
- r = safe_atod("0.2244", &d);
- assert_se(r == 0);
- assert_se(fabs(d - 0.2244) < 0.000001);
+ r = safe_atod("0.2244", &d);
+ assert_se(r == 0);
+ assert_se(fabs(d - 0.2244) < 0.000001);
- r = safe_atod("0,5", &d);
- assert_se(r == -EINVAL);
+ r = safe_atod("0,5", &d);
+ assert_se(r == -EINVAL);
- errno = 0;
- assert_se(fabs(strtod("0,5", &e) - 0.5) < 0.00001);
+ errno = 0;
+ assert_se(fabs(strtod("0,5", &e) - 0.5) < 0.00001);
+ }
/* And check again, reset */
- setlocale(LC_NUMERIC, "C");
+ assert_se(setlocale(LC_NUMERIC, "C"));
r = safe_atod("0.2244", &d);
assert_se(r == 0);
assert_se(strlen(strshorten(s, 0)) == 0);
}
+static void test_strappenda(void) {
+ char *actual;
+
+ actual = strappenda("", "foo", "bar");
+ assert_se(streq(actual, "foobar"));
+
+ actual = strappenda("foo", "bar", "baz");
+ assert_se(streq(actual, "foobarbaz"));
+
+ actual = strappenda("foo", "", "bar", "baz");
+ assert_se(streq(actual, "foobarbaz"));
+}
+
int main(int argc, char *argv[]) {
log_parse_environment();
log_open();
test_read_one_char();
test_ignore_signals();
test_strshorten();
+ test_strappenda();
return 0;
}