mirror of https://github.com/akheron/jansson
Merge af19fc6680
into 271ffda903
This commit is contained in:
commit
43a68c3e36
13
src/load.c
13
src/load.c
|
@ -521,7 +521,7 @@ static int lex_scan_number(lex_t *lex, int c, json_error_t *error)
|
||||||
lex_unget_unsave(lex, c);
|
lex_unget_unsave(lex, c);
|
||||||
|
|
||||||
saved_text = strbuffer_value(&lex->saved_text);
|
saved_text = strbuffer_value(&lex->saved_text);
|
||||||
|
#if JSON_HAVE_ERRNO
|
||||||
errno = 0;
|
errno = 0;
|
||||||
intval = json_strtoint(saved_text, &end, 10);
|
intval = json_strtoint(saved_text, &end, 10);
|
||||||
if(errno == ERANGE) {
|
if(errno == ERANGE) {
|
||||||
|
@ -531,7 +531,9 @@ static int lex_scan_number(lex_t *lex, int c, json_error_t *error)
|
||||||
error_set(error, lex, "too big integer");
|
error_set(error, lex, "too big integer");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
value = json_strtoint(saved_text, &end, 10);
|
||||||
|
#endif
|
||||||
assert(end == saved_text + lex->saved_text.length);
|
assert(end == saved_text + lex->saved_text.length);
|
||||||
|
|
||||||
lex->token = TOKEN_INTEGER;
|
lex->token = TOKEN_INTEGER;
|
||||||
|
@ -1086,9 +1088,14 @@ json_t *json_load_file(const char *path, size_t flags, json_error_t *error)
|
||||||
fp = fopen(path, "rb");
|
fp = fopen(path, "rb");
|
||||||
if(!fp)
|
if(!fp)
|
||||||
{
|
{
|
||||||
|
#if JSON_HAVE_ERRNO
|
||||||
error_set(error, NULL, "unable to open %s: %s",
|
error_set(error, NULL, "unable to open %s: %s",
|
||||||
path, strerror(errno));
|
path, strerror(errno));
|
||||||
return NULL;
|
#else
|
||||||
|
error_set(error, NULL, "unable to open %s: %s",
|
||||||
|
path, "");
|
||||||
|
#endif
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
result = json_loadf(fp, flags, error);
|
result = json_loadf(fp, flags, error);
|
||||||
|
|
|
@ -72,7 +72,7 @@ int jsonp_strtod(strbuffer_t *strbuffer, double *out)
|
||||||
#if JSON_HAVE_LOCALECONV
|
#if JSON_HAVE_LOCALECONV
|
||||||
to_locale(strbuffer);
|
to_locale(strbuffer);
|
||||||
#endif
|
#endif
|
||||||
|
#if JSON_HAVE_ERRNO
|
||||||
errno = 0;
|
errno = 0;
|
||||||
value = strtod(strbuffer->value, &end);
|
value = strtod(strbuffer->value, &end);
|
||||||
assert(end == strbuffer->value + strbuffer->length);
|
assert(end == strbuffer->value + strbuffer->length);
|
||||||
|
@ -81,7 +81,10 @@ int jsonp_strtod(strbuffer_t *strbuffer, double *out)
|
||||||
/* Overflow */
|
/* Overflow */
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
value = strtod(strbuffer->value, &end);
|
||||||
|
assert(end == strbuffer->value + strbuffer->length);
|
||||||
|
#endif
|
||||||
*out = value;
|
*out = value;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
jansson.vcp -text -crlf eol=crlf
|
||||||
|
jansson.vcw -text -crlf eol=crlf
|
|
@ -0,0 +1,7 @@
|
||||||
|
To build jansson in evc3.0:
|
||||||
|
|
||||||
|
1. Setup EVC++
|
||||||
|
a. Tools -> Options -> Directories -> Include Files -> New
|
||||||
|
b. Add win32/evc30 to include path (EVC doesn't have per-project include paths)
|
||||||
|
2. Ensure you have the minor patches from this branch (to silence errors about errno features Windows CE 3.0 doesn't have)
|
||||||
|
3. Build
|
|
@ -0,0 +1,221 @@
|
||||||
|
# Microsoft eMbedded Visual Tools Project File - Name="jansson" - Package Owner=<4>
|
||||||
|
# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (WCE ARM) Static Library" 0x8504
|
||||||
|
|
||||||
|
CFG=jansson - Win32 (WCE ARM) Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "jansson.vcn".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "jansson.vcn" CFG="jansson - Win32 (WCE ARM) Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "jansson - Win32 (WCE ARM) Release" (based on "Win32 (WCE ARM) Static Library")
|
||||||
|
!MESSAGE "jansson - Win32 (WCE ARM) Debug" (based on "Win32 (WCE ARM) Static Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
# PROP ATL_Project 2
|
||||||
|
CPP=clarm.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "jansson - Win32 (WCE ARM) Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "ARMRel"
|
||||||
|
# PROP BASE Intermediate_Dir "ARMRel"
|
||||||
|
# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
|
||||||
|
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "ARMRel"
|
||||||
|
# PROP Intermediate_Dir "ARMRel"
|
||||||
|
# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
|
||||||
|
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Oxs /M$(CECrtMT) /c
|
||||||
|
# ADD CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Oxs /M$(CECrtMT) /c
|
||||||
|
LIB32=link.exe -lib
|
||||||
|
# ADD BASE LIB32 /nologo
|
||||||
|
# ADD LIB32 /nologo
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "jansson - Win32 (WCE ARM) Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "ARMDbg"
|
||||||
|
# PROP BASE Intermediate_Dir "ARMDbg"
|
||||||
|
# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
|
||||||
|
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "ARMDbg"
|
||||||
|
# PROP Intermediate_Dir "ARMDbg"
|
||||||
|
# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
|
||||||
|
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c
|
||||||
|
# ADD CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c
|
||||||
|
LIB32=link.exe -lib
|
||||||
|
# ADD BASE LIB32 /nologo
|
||||||
|
# ADD LIB32 /nologo
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "jansson - Win32 (WCE ARM) Release"
|
||||||
|
# Name "jansson - Win32 (WCE ARM) Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\dump.c
|
||||||
|
DEP_CPP_DUMP_=\
|
||||||
|
"..\..\src\hashtable.h"\
|
||||||
|
"..\..\src\jansson.h"\
|
||||||
|
"..\..\src\jansson_private.h"\
|
||||||
|
"..\..\src\strbuffer.h"\
|
||||||
|
"..\..\src\utf.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\error.c
|
||||||
|
DEP_CPP_ERROR=\
|
||||||
|
"..\..\src\hashtable.h"\
|
||||||
|
"..\..\src\jansson.h"\
|
||||||
|
"..\..\src\jansson_private.h"\
|
||||||
|
"..\..\src\strbuffer.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\hashtable.c
|
||||||
|
DEP_CPP_HASHT=\
|
||||||
|
"..\..\src\hashtable.h"\
|
||||||
|
"..\..\src\jansson.h"\
|
||||||
|
"..\..\src\jansson_private.h"\
|
||||||
|
"..\..\src\strbuffer.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\load.c
|
||||||
|
DEP_CPP_LOAD_=\
|
||||||
|
"..\..\src\hashtable.h"\
|
||||||
|
"..\..\src\jansson.h"\
|
||||||
|
"..\..\src\jansson_private.h"\
|
||||||
|
"..\..\src\strbuffer.h"\
|
||||||
|
"..\..\src\utf.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\memory.c
|
||||||
|
DEP_CPP_MEMOR=\
|
||||||
|
"..\..\src\hashtable.h"\
|
||||||
|
"..\..\src\jansson.h"\
|
||||||
|
"..\..\src\jansson_private.h"\
|
||||||
|
"..\..\src\strbuffer.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\pack_unpack.c
|
||||||
|
DEP_CPP_PACK_=\
|
||||||
|
"..\..\src\hashtable.h"\
|
||||||
|
"..\..\src\jansson.h"\
|
||||||
|
"..\..\src\jansson_private.h"\
|
||||||
|
"..\..\src\strbuffer.h"\
|
||||||
|
"..\..\src\utf.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\strbuffer.c
|
||||||
|
DEP_CPP_STRBU=\
|
||||||
|
"..\..\src\hashtable.h"\
|
||||||
|
"..\..\src\jansson.h"\
|
||||||
|
"..\..\src\jansson_private.h"\
|
||||||
|
"..\..\src\strbuffer.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\strconv.c
|
||||||
|
DEP_CPP_STRCO=\
|
||||||
|
"..\..\src\hashtable.h"\
|
||||||
|
"..\..\src\jansson.h"\
|
||||||
|
"..\..\src\jansson_private.h"\
|
||||||
|
"..\..\src\strbuffer.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\utf.c
|
||||||
|
DEP_CPP_UTF_C=\
|
||||||
|
"..\..\src\utf.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\value.c
|
||||||
|
DEP_CPP_VALUE=\
|
||||||
|
"..\..\src\hashtable.h"\
|
||||||
|
"..\..\src\jansson.h"\
|
||||||
|
"..\..\src\jansson_private.h"\
|
||||||
|
"..\..\src\strbuffer.h"\
|
||||||
|
"..\..\src\utf.h"\
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\hashtable.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\jansson.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\jansson_config.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\jansson_private.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\strbuffer.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\utf.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
|
@ -0,0 +1,29 @@
|
||||||
|
Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00
|
||||||
|
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "jansson"=.\jansson.vcp - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Global:
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<3>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
#include "jansson_config.h.evc_30.h"
|
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2010-2012 Petri Lehtinen <petri@digip.org>
|
||||||
|
*
|
||||||
|
* Jansson is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the MIT license. See LICENSE for details.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* This file specifies a part of the site-specific configuration for
|
||||||
|
* Jansson, namely those things that affect the public API in
|
||||||
|
* jansson.h.
|
||||||
|
*
|
||||||
|
* The configure script copies this file to jansson_config.h and
|
||||||
|
* replaces @var@ substitutions by values that fit your system. If you
|
||||||
|
* cannot run the configure script, you can do the value substitution
|
||||||
|
* by hand.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef JANSSON_CONFIG_H
|
||||||
|
#define JANSSON_CONFIG_H
|
||||||
|
|
||||||
|
/* If your compiler supports the inline keyword in C, JSON_INLINE is
|
||||||
|
defined to `inline', otherwise empty. In C++, the inline is always
|
||||||
|
supported. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define JSON_INLINE inline
|
||||||
|
#else
|
||||||
|
#define JSON_INLINE __inline
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* If your compiler supports the `long long` type and the strtoll()
|
||||||
|
library function, JSON_INTEGER_IS_LONG_LONG is defined to 1,
|
||||||
|
otherwise to 0. */
|
||||||
|
#define JSON_INTEGER_IS_LONG_LONG 0
|
||||||
|
|
||||||
|
/* If locale.h and localeconv() are available, define to 1,
|
||||||
|
otherwise to 0. */
|
||||||
|
#define JSON_HAVE_LOCALECONV 0
|
||||||
|
|
||||||
|
#undef HAVE_INTTYPES_H
|
||||||
|
#undef HAVE_CONFIG_H
|
||||||
|
|
||||||
|
#define JSON_HAVE_ERRNO 0
|
||||||
|
|
||||||
|
#define _STLP_ASSERT(x)
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue