X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Futf8.h;h=22e13461de5f5aab15110b5c43dacd21e38caa15;hp=af2420fda42cdbabd0e3959616900377416482ff;hb=7991ac34ab08421415b907e42775c5539a4a5bbb;hpb=5430f7f2bc7330f3088b894166bf3524a067e3d8 diff --git a/src/shared/utf8.h b/src/shared/utf8.h index af2420fda..22e13461d 100644 --- a/src/shared/utf8.h +++ b/src/shared/utf8.h @@ -1,7 +1,6 @@ /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -#ifndef fooutf8hfoo -#define fooutf8hfoo +#pragma once /*** This file is part of systemd. @@ -22,12 +21,19 @@ along with systemd; If not, see . ***/ +#include + #include "macro.h" -char *utf8_is_valid(const char *s) _pure_; +const char *utf8_is_valid(const char *s) _pure_; char *ascii_is_valid(const char *s) _pure_; -char *utf8_filter(const char *s); +bool utf8_is_printable(const char* str, size_t length) _pure_; + char *ascii_filter(const char *s); -#endif +char *utf16_to_utf8(const void *s, size_t length); + +int utf8_encoded_valid_unichar(const char *str); +int is_utf8_encoding_whitelisted(char c, const char *white); +int udev_encode_string(const char *str, char *str_enc, size_t len);