From 00b4ac4d1e9f63f2844ef113c7812c418cbc508f Mon Sep 17 00:00:00 2001 From: Haibo Huang Date: Mon, 15 Jul 2019 13:58:05 -0700 Subject: Upgrade jsmn to v1.1.0 Test: None Change-Id: I744a16dbda815b6a3ff8991191f39c72e71cd33c --- jsmn.h | 10 +++++++-- patches/header.diff | 62 +++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 54 insertions(+), 18 deletions(-) diff --git a/jsmn.h b/jsmn.h index 892f428..1387b68 100644 --- a/jsmn.h +++ b/jsmn.h @@ -21,6 +21,12 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ +// ANDROID CHANGE: Default to header only. +#ifndef JSMN_IMPL +#define JSMN_HEADER +#endif +// END ANDROID CHANGE + #ifndef JSMN_H #define JSMN_H @@ -99,7 +105,7 @@ JSMN_API void jsmn_init(jsmn_parser *parser); JSMN_API int jsmn_parse(jsmn_parser *parser, const char *js, const size_t len, jsmntok_t *tokens, const unsigned int num_tokens); -#ifdef JSMN_IMPL +#ifndef JSMN_HEADER /** * Allocates a fresh unused token from the token pool. */ @@ -459,7 +465,7 @@ JSMN_API void jsmn_init(jsmn_parser *parser) { parser->toksuper = -1; } -#endif /* JSMN_IMPL */ +#endif /* JSMN_HEADER */ #ifdef __cplusplus } diff --git a/patches/header.diff b/patches/header.diff index 7fda457..90349fc 100644 --- a/patches/header.diff +++ b/patches/header.diff @@ -2,21 +2,51 @@ Index: jsmn/jsmn.h =================================================================== --- jsmn.orig/jsmn.h +++ jsmn/jsmn.h -@@ -99,7 +99,7 @@ JSMN_API void jsmn_init(jsmn_parser *par - JSMN_API int jsmn_parse(jsmn_parser *parser, const char *js, const size_t len, - jsmntok_t *tokens, const unsigned int num_tokens); - --#ifndef JSMN_HEADER -+#ifndef JSMN_IMPL - /** - * Allocates a fresh unused token from the token pool. +@@ -21,6 +21,12 @@ + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. */ -@@ -459,7 +459,7 @@ JSMN_API void jsmn_init(jsmn_parser *par - parser->toksuper = -1; - } - --#endif /* JSMN_HEADER */ -+#endif /* JSMN_IMPL */ ++// ANDROID CHANGE: Default to header only. ++#ifndef JSMN_IMPL ++#define JSMN_HEADER ++#endif ++// END ANDROID CHANGE ++ + #ifndef JSMN_H + #define JSMN_H - #ifdef __cplusplus - } +Index: jsmn/jsmn.c +=================================================================== +--- /dev/null ++++ jsmn/jsmn.c +@@ -0,0 +1,30 @@ ++/* ++ * Copyright (C) 2019 The Android Open Source Project ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * * Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * * Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS ++ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ++ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ++ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ ++ ++#define JSMN_IMPL ++#include "jsmn.h" -- cgit v1.2.3