Upgrade jsmn to v1.1.0 am: 00b4ac4d1e am: dd5d1b4518
am: 9f412a37f5

Change-Id: I5b7c563c397d82a6ae4d0967c794edd77f0cbfa2
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 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 @@
   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 @@
 ===================================================================
 --- 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;
- }
++// ANDROID CHANGE: Default to header only.
++#ifndef JSMN_IMPL
++#define JSMN_HEADER
++#endif
++// END ANDROID CHANGE
++
+ #ifndef JSMN_H
+ #define JSMN_H
  
--#endif /* JSMN_HEADER */
-+#endif /* JSMN_IMPL */
- 
- #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"