Type conversion fixes, url/ edition.
This is mostly to fix MSVC warnings about possible value truncation. BUG=81439 TEST=none Review URL: https://codereview.chromium.org/662713004 Cr-Commit-Position: refs/heads/master@{#300358}
This commit is contained in:
@ -41,13 +41,13 @@ class CanonOutputT {
|
||||
|
||||
// Accessor for returning a character at a given position. The input offset
|
||||
// must be in the valid range.
|
||||
inline char at(int offset) const {
|
||||
inline T at(int offset) const {
|
||||
return buffer_[offset];
|
||||
}
|
||||
|
||||
// Sets the character at the given position. The given position MUST be less
|
||||
// than the length().
|
||||
inline void set(int offset, int ch) {
|
||||
inline void set(int offset, T ch) {
|
||||
buffer_[offset] = ch;
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ int FileDoDriveSpec(const CHAR* spec, int begin, int end,
|
||||
|
||||
// Normalize Windows drive letters to uppercase
|
||||
if (spec[after_slashes] >= 'a' && spec[after_slashes] <= 'z')
|
||||
output->push_back(spec[after_slashes] - 'a' + 'A');
|
||||
output->push_back(static_cast<char>(spec[after_slashes] - 'a' + 'A'));
|
||||
else
|
||||
output->push_back(static_cast<char>(spec[after_slashes]));
|
||||
|
||||
|
@ -19,13 +19,13 @@ namespace {
|
||||
template<typename CHAR, typename UCHAR>
|
||||
bool DoCanonicalizePathComponent(const CHAR* source,
|
||||
const Component& component,
|
||||
CHAR seperator,
|
||||
char separator,
|
||||
CanonOutput* output,
|
||||
Component* new_component) {
|
||||
bool success = true;
|
||||
if (component.is_valid()) {
|
||||
if (seperator)
|
||||
output->push_back(seperator);
|
||||
if (separator)
|
||||
output->push_back(separator);
|
||||
// Copy the path using path URL's more lax escaping rules (think for
|
||||
// javascript:). We convert to UTF-8 and escape non-ASCII, but leave all
|
||||
// ASCII characters alone. This helps readability of JavaStript.
|
||||
@ -64,7 +64,7 @@ bool DoCanonicalizePathURL(const URLComponentSource<CHAR>& source,
|
||||
// We allow path URLs to have the path, query and fragment components, but we
|
||||
// will canonicalize each of the via the weaker path URL rules.
|
||||
success &= DoCanonicalizePathComponent<CHAR, UCHAR>(
|
||||
source.path, parsed.path, 0, output, &new_parsed->path);
|
||||
source.path, parsed.path, '\0', output, &new_parsed->path);
|
||||
success &= DoCanonicalizePathComponent<CHAR, UCHAR>(
|
||||
source.query, parsed.query, '?', output, &new_parsed->query);
|
||||
success &= DoCanonicalizePathComponent<CHAR, UCHAR>(
|
||||
|
Reference in New Issue
Block a user