summaryrefslogtreecommitdiffstats
path: root/core/java/android/util
diff options
context:
space:
mode:
authorJesse Wilson <jessewilson@google.com>2011-07-20 12:23:23 -0700
committerJesse Wilson <jessewilson@google.com>2011-07-20 12:23:23 -0700
commit7a2c813d304b910b00046115efb0f462e6431a64 (patch)
tree66c54c59239147c4e4515b88139dd833ed3ed604 /core/java/android/util
parent85111ee50108e66254c6edbda76c7ed9676dc536 (diff)
downloadframeworks_base-7a2c813d304b910b00046115efb0f462e6431a64.zip
frameworks_base-7a2c813d304b910b00046115efb0f462e6431a64.tar.gz
frameworks_base-7a2c813d304b910b00046115efb0f462e6431a64.tar.bz2
Skip byte order mark (BOM) in JsonReader
Bug: http://code.google.com/p/android/issues/detail?id=18508 Change-Id: I7652080d9ab475c75d0a811a6e2ede4975ebe063
Diffstat (limited to 'core/java/android/util')
-rw-r--r--core/java/android/util/JsonReader.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/util/JsonReader.java b/core/java/android/util/JsonReader.java
index 09ce8e4..f139372 100644
--- a/core/java/android/util/JsonReader.java
+++ b/core/java/android/util/JsonReader.java
@@ -738,6 +738,14 @@ public final class JsonReader implements Closeable {
int total;
while ((total = in.read(buffer, limit, buffer.length - limit)) != -1) {
limit += total;
+
+ // if this is the first read, consume an optional byte order mark (BOM) if it exists
+ if (bufferStartLine == 1 && bufferStartColumn == 1
+ && limit > 0 && buffer[0] == '\ufeff') {
+ pos++;
+ bufferStartColumn--;
+ }
+
if (limit >= minimum) {
return true;
}