1 /* @nolint 2 * Copyright (c) 2009-2012 Petri Lehtinen <petri@digip.org> 3 * 4 * Jansson is free software; you can redistribute it and/or modify 5 * it under the terms of the MIT license. See LICENSE for details. 6 */ 7 8 #ifndef UTF_H 9 #define UTF_H 10 11 #ifdef HAVE_CONFIG_H 12 #include <config.h> 13 14 #ifdef HAVE_INTTYPES_H 15 /* inttypes.h includes stdint.h in a standard environment, so there's 16 no need to include stdint.h separately. If inttypes.h doesn't define 17 int32_t, it's defined in config.h. */ 18 #include <inttypes.h> 19 #endif /* HAVE_INTTYPES_H */ 20 21 #else /* !HAVE_CONFIG_H */ 22 #ifdef _WIN32 23 typedef int int32_t; 24 #else /* !_WIN32 */ 25 /* Assume a standard environment */ 26 #include <inttypes.h> 27 #endif /* _WIN32 */ 28 29 #endif /* HAVE_CONFIG_H */ 30 31 int utf8_encode(int codepoint, char *buffer, int *size); 32 33 int utf8_check_first(char byte); 34 int utf8_check_full(const char *buffer, int size, int32_t *codepoint); 35 const char *utf8_iterate(const char *buffer, int32_t *codepoint); 36 37 int utf8_check_string(const char *string, int length); 38 39 #endif 40