|
|
|
@ -2,7 +2,7 @@ |
|
|
|
|
/*
|
|
|
|
|
|
|
|
|
|
<https://github.com/rafagafe/tiny-json>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Licensed under the MIT License <http://opensource.org/licenses/MIT>.
|
|
|
|
|
SPDX-License-Identifier: MIT |
|
|
|
|
Copyright (c) 2016-2018 Rafa Garcia <rafagarcia77@gmail.com>. |
|
|
|
@ -24,7 +24,7 @@ |
|
|
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
|
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|
|
|
|
SOFTWARE. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
#include <string.h> |
|
|
|
@ -245,7 +245,7 @@ static char* nullValue( char* ptr, json_t* property ) { |
|
|
|
|
* @retval Null pointer if any error occur. */ |
|
|
|
|
static char* expValue( char* ptr ) { |
|
|
|
|
if ( *ptr == '-' || *ptr == '+' ) ++ptr; |
|
|
|
|
if ( !isdigit( *ptr ) ) return 0; |
|
|
|
|
if ( !isdigit( (int)(*ptr) ) ) return 0; |
|
|
|
|
ptr = goNum( ++ptr ); |
|
|
|
|
return ptr; |
|
|
|
|
} |
|
|
|
@ -255,7 +255,7 @@ static char* expValue( char* ptr ) { |
|
|
|
|
* @retval Pointer to first non numerical after the string. If success. |
|
|
|
|
* @retval Null pointer if any error occur. */ |
|
|
|
|
static char* fraqValue( char* ptr ) { |
|
|
|
|
if ( !isdigit( *ptr ) ) return 0; |
|
|
|
|
if ( !isdigit( (int)(*ptr) ) ) return 0; |
|
|
|
|
ptr = goNum( ++ptr ); |
|
|
|
|
if ( !ptr ) return 0; |
|
|
|
|
return ptr; |
|
|
|
@ -269,12 +269,12 @@ static char* fraqValue( char* ptr ) { |
|
|
|
|
* @retval Null pointer if any error occur. */ |
|
|
|
|
static char* numValue( char* ptr, json_t* property ) { |
|
|
|
|
if ( *ptr == '-' ) ++ptr; |
|
|
|
|
if ( !isdigit( *ptr ) ) return 0; |
|
|
|
|
if ( !isdigit( (int)(*ptr) ) ) return 0; |
|
|
|
|
if ( *ptr != '0' ) { |
|
|
|
|
ptr = goNum( ptr ); |
|
|
|
|
if ( !ptr ) return 0; |
|
|
|
|
} |
|
|
|
|
else if ( isdigit( *++ptr ) ) return 0; |
|
|
|
|
else if ( isdigit( (int)(*++ptr) ) ) return 0; |
|
|
|
|
property->type = JSON_INTEGER; |
|
|
|
|
if ( *ptr == '.' ) { |
|
|
|
|
ptr = fraqValue( ++ptr ); |
|
|
|
@ -440,7 +440,7 @@ static char* goBlank( char* str ) { |
|
|
|
|
* @return The final pointer value or null pointer if the null character was found. */ |
|
|
|
|
static char* goNum( char* str ) { |
|
|
|
|
for( ; *str != '\0'; ++str ) { |
|
|
|
|
if ( !isdigit( *str ) ) |
|
|
|
|
if ( !isdigit( (int)(*str) ) ) |
|
|
|
|
return str; |
|
|
|
|
} |
|
|
|
|
return 0; |
|
|
|
|