#include "alloc-util.h"
#include "macro.h"
#include "string-util-fundamental.h"
+#include "utf8.h"
/* What is interpreted as whitespace? */
#define WHITESPACE " \t\n\r"
}
bool string_is_safe(const char *p) _pure_;
+static inline bool string_is_safe_ascii(const char *p) {
+ return ascii_is_valid(p) && string_is_safe(p);
+}
DISABLE_WARNING_STRINGOP_TRUNCATION;
static inline void strncpy_exact(char *buf, const char *src, size_t buf_len) {
int sd_dhcp_server_set_boot_filename(sd_dhcp_server *server, const char *filename) {
assert_return(server, -EINVAL);
- if (filename && (!string_is_safe(filename) || !ascii_is_valid(filename)))
+ if (filename && !string_is_safe_ascii(filename))
return -EINVAL;
return free_and_strdup(&server->boot_filename, filename);