1/* Copyright (c) 2013, Vsevolod Stakhov 2 * All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * * Redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer. 8 * * Redistributions in binary form must reproduce the above copyright --- 10 unchanged lines hidden (view full) --- 19 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 20 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 21 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 */ 23 24#ifndef UCL_INTERNAL_H_ 25#define UCL_INTERNAL_H_ 26 |
27#ifdef HAVE_CONFIG_H 28#include "config.h" 29#else 30/* Help embedded builds */ 31#define HAVE_SYS_TYPES_H 32#define HAVE_SYS_MMAN_H 33#define HAVE_SYS_STAT_H 34#define HAVE_SYS_PARAM_H 35#define HAVE_LIMITS_H 36#define HAVE_FCNTL_H 37#define HAVE_ERRNO_H 38#define HAVE_UNISTD_H 39#define HAVE_CTYPE_H 40#define HAVE_STDIO_H 41#define HAVE_STRING_H 42#define HAVE_FLOAT_H 43#define HAVE_LIBGEN_H 44#define HAVE_MATH_H 45#define HAVE_STDBOOL_H 46#define HAVE_STDINT_H 47#define HAVE_STDARG_H 48#define HAVE_REGEX_H 49#endif 50 51#ifdef HAVE_SYS_TYPES_H |
52#include <sys/types.h> |
53#endif |
54 55#ifdef HAVE_SYS_MMAN_H 56# ifndef _WIN32 57# include <sys/mman.h> 58# endif 59#endif 60#ifdef HAVE_SYS_STAT_H |
61#include <sys/stat.h> |
62#endif 63#ifdef HAVE_SYS_PARAM_H |
64#include <sys/param.h> |
65#endif |
66 |
67#ifdef HAVE_LIMITS_H |
68#include <limits.h> |
69#endif 70#ifdef HAVE_FCNTL_H |
71#include <fcntl.h> |
72#endif 73#ifdef HAVE_ERRNO_H |
74#include <errno.h> |
75#endif 76#ifdef HAVE_UNISTD_H |
77#include <unistd.h> |
78#endif 79#ifdef HAVE_CTYPE_H |
80#include <ctype.h> |
81#endif 82#ifdef HAVE_STDIO_H 83#include <stdio.h> 84#endif 85#ifdef HAVE_STRING_H 86#include <string.h> 87#endif |
88 89#include "utlist.h" 90#include "utstring.h" 91#include "uthash.h" 92#include "ucl.h" 93#include "ucl_hash.h" 94#include "xxhash.h" 95 --- 209 unchanged lines hidden (view full) --- 305 * @param obj object to set if a string is numeric 306 * @param start start of string 307 * @param end end of string 308 * @param pos position where parsing has stopped 309 * @param allow_double allow parsing of floating point values 310 * @return 0 if string is numeric and error code (EINVAL or ERANGE) in case of conversion error 311 */ 312int ucl_maybe_parse_number (ucl_object_t *obj, |
313 const char *start, const char *end, const char **pos, 314 bool allow_double, bool number_bytes, bool allow_time); |
315 316 317static inline ucl_object_t * 318ucl_hash_search_obj (ucl_hash_t* hashlin, ucl_object_t *obj) 319{ 320 return (ucl_object_t *)ucl_hash_search (hashlin, obj->key, obj->keylen); 321} 322 --- 22 unchanged lines hidden --- |