To follow our usual coding style.
return buf;
}
-char* decescape(const char *s, const char *bad, size_t len) {
+char* decescape(const char *s, size_t len, const char *bad) {
char *buf, *t;
/* Escapes all chars in bad, in addition to \ and " chars, in \nnn decimal style escaping. */
return xescape_full(s, bad, SIZE_MAX, 0);
}
char* octescape(const char *s, size_t len);
-char* decescape(const char *s, const char *bad, size_t len);
+char* decescape(const char *s, size_t len, const char *bad);
char* escape_non_printable_full(const char *str, size_t console_width, XEscapeFlags flags);
char* shell_escape(const char *s, const char *bad);
return strv_join(values_strv, ",");
}
default: {
- value = decescape((char *)&i->value, " ,", i->length);
+ value = decescape((char*) &i->value, i->length, " ,");
if (!value)
return NULL;
break;
static void test_decescape_one(const char *s, const char *bad, const char *expected) {
_cleanup_free_ char *ret = NULL;
- assert_se(ret = decescape(s, bad, strlen_ptr(s)));
+ assert_se(ret = decescape(s, s ? SIZE_MAX : 0, bad));
log_debug("decescape(\"%s\") → \"%s\" (expected: \"%s\")", strnull(s), ret, expected);
ASSERT_STREQ(ret, expected);
}