aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTae-il Lim <trlim@iotok.kr>2016-04-03 17:15:18 +0900
committerTae-il Lim <trlim@iotok.kr>2016-04-05 11:13:36 +0900
commit6426b02d3ddce39a2a3c2b34a0292b2d980e64ab (patch)
tree183af102095ec48551fadd0eb18e4ea2bcca190d
parent8dbc107441194238267a94aaa46248c405c2159c (diff)
downloadmilf-rs-6426b02d3ddce39a2a3c2b34a0292b2d980e64ab.tar.gz
milf-rs-6426b02d3ddce39a2a3c2b34a0292b2d980e64ab.zip
Use different method to ensure unicode escape code is ASCII of expected length
-rw-r--r--src/parser.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/parser.rs b/src/parser.rs
index 9eb506a..2a156e3 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -1,4 +1,3 @@
-use std::ascii::AsciiExt;
use std::char;
use std::collections::BTreeMap;
use std::error::Error;
@@ -490,7 +489,7 @@ impl<'a> Parser<'a> {
Some((pos, c @ 'U')) => {
let len = if c == 'u' {4} else {8};
let num = &me.input[pos+1..];
- let num = if num.len() >= len && num.is_ascii() {
+ let num = if num.char_indices().nth(len).map(|(i, _)| i).unwrap_or(0) == len {
&num[..len]
} else {
"invalid"