Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(316)

Side by Side Diff: base/json_reader.cc

Issue 243102: Convert base dependencies to use sys_string_conversions instead of the ICU... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/i18n/string_conversions.cc ('k') | base/json_writer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/json_reader.h" 5 #include "base/json_reader.h"
6 6
7 #include "base/float_util.h" 7 #include "base/float_util.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/scoped_ptr.h" 9 #include "base/scoped_ptr.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
11 #include "base/utf_string_conversions.h"
11 #include "base/values.h" 12 #include "base/values.h"
12 13
13 static const JSONReader::Token kInvalidToken(JSONReader::Token::INVALID_TOKEN, 14 static const JSONReader::Token kInvalidToken(JSONReader::Token::INVALID_TOKEN,
14 0, 0); 15 0, 0);
15 static const int kStackLimit = 100; 16 static const int kStackLimit = 100;
16 17
17 namespace { 18 namespace {
18 19
19 inline int HexToInt(wchar_t c) { 20 inline int HexToInt(wchar_t c) {
20 if ('0' <= c && c <= '9') { 21 if ('0' <= c && c <= '9') {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 } 112 }
112 113
113 /* static */ 114 /* static */
114 std::string JSONReader::FormatErrorMessage(int line, int column, 115 std::string JSONReader::FormatErrorMessage(int line, int column,
115 const char* description) { 116 const char* description) {
116 return StringPrintf("Line: %i, column: %i, %s", 117 return StringPrintf("Line: %i, column: %i, %s",
117 line, column, description); 118 line, column, description);
118 } 119 }
119 120
120 JSONReader::JSONReader() 121 JSONReader::JSONReader()
121 : start_pos_(NULL), json_pos_(NULL), stack_depth_(0), 122 : start_pos_(NULL), json_pos_(NULL), stack_depth_(0),
122 allow_trailing_comma_(false) {} 123 allow_trailing_comma_(false) {}
123 124
124 Value* JSONReader::JsonToValue(const std::string& json, bool check_root, 125 Value* JSONReader::JsonToValue(const std::string& json, bool check_root,
125 bool allow_trailing_comma) { 126 bool allow_trailing_comma) {
126 // The input must be in UTF-8. 127 // The input must be in UTF-8.
127 if (!IsStringUTF8(json.c_str())) { 128 if (!IsStringUTF8(json.c_str())) {
128 error_message_ = kUnsupportedEncoding; 129 error_message_ = kUnsupportedEncoding;
129 return NULL; 130 return NULL;
130 } 131 }
131 132
132 // The conversion from UTF8 to wstring removes null bytes for us 133 // The conversion from UTF8 to wstring removes null bytes for us
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 if (*pos == '\n') { 629 if (*pos == '\n') {
629 ++line_number; 630 ++line_number;
630 column_number = 1; 631 column_number = 1;
631 } else { 632 } else {
632 ++column_number; 633 ++column_number;
633 } 634 }
634 } 635 }
635 636
636 error_message_ = FormatErrorMessage(line_number, column_number, description); 637 error_message_ = FormatErrorMessage(line_number, column_number, description);
637 } 638 }
OLDNEW
« no previous file with comments | « base/i18n/string_conversions.cc ('k') | base/json_writer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698