Skip to content

Commit 53e36f6

Browse files
committed
---
yaml --- r: 151664 b: refs/heads/try2 c: bf249b4 h: refs/heads/master v: v3
1 parent 8181991 commit 53e36f6

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 27977e41fc28c45af9bd23cd7eefb9dec6e7eab0
8+
refs/heads/try2: bf249b441129255acfa4a153cb08110a93ae18a6
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/libhexfloat/lib.rs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,30 +70,39 @@ pub fn macro_registrar(register: |Name, SyntaxExtension|) {
7070

7171
//Check if the literal is valid (as LLVM expects),
7272
//and return a descriptive error if not.
73-
fn hex_float_lit_err(s: &str) -> Option<(uint, ~str)> {
73+
fn hex_float_lit_err(s: &str) -> Option<(uint, StrBuf)> {
7474
let mut chars = s.chars().peekable();
7575
let mut i = 0;
7676
if chars.peek() == Some(&'-') { chars.next(); i+= 1 }
77-
if chars.next() != Some('0') { return Some((i, "Expected '0'".to_owned())); } i+=1;
78-
if chars.next() != Some('x') { return Some((i, "Expected 'x'".to_owned())); } i+=1;
77+
if chars.next() != Some('0') {
78+
return Some((i, "Expected '0'".to_strbuf()));
79+
} i+=1;
80+
if chars.next() != Some('x') {
81+
return Some((i, "Expected 'x'".to_strbuf()));
82+
} i+=1;
7983
let mut d_len = 0;
8084
for _ in chars.take_while(|c| c.is_digit_radix(16)) { chars.next(); i+=1; d_len += 1;}
81-
if chars.next() != Some('.') { return Some((i, "Expected '.'".to_owned())); } i+=1;
85+
if chars.next() != Some('.') {
86+
return Some((i, "Expected '.'".to_strbuf()));
87+
} i+=1;
8288
let mut f_len = 0;
8389
for _ in chars.take_while(|c| c.is_digit_radix(16)) { chars.next(); i+=1; f_len += 1;}
8490
if d_len == 0 && f_len == 0 {
85-
return Some((i, "Expected digits before or after decimal point".to_owned()));
91+
return Some((i, "Expected digits before or after decimal \
92+
point".to_strbuf()));
8693
}
87-
if chars.next() != Some('p') { return Some((i, "Expected 'p'".to_owned())); } i+=1;
94+
if chars.next() != Some('p') {
95+
return Some((i, "Expected 'p'".to_strbuf()));
96+
} i+=1;
8897
if chars.peek() == Some(&'-') { chars.next(); i+= 1 }
8998
let mut e_len = 0;
9099
for _ in chars.take_while(|c| c.is_digit()) { chars.next(); i+=1; e_len += 1}
91100
if e_len == 0 {
92-
return Some((i, "Expected exponent digits".to_owned()));
101+
return Some((i, "Expected exponent digits".to_strbuf()));
93102
}
94103
match chars.next() {
95104
None => None,
96-
Some(_) => Some((i, "Expected end of string".to_owned()))
105+
Some(_) => Some((i, "Expected end of string".to_strbuf()))
97106
}
98107
}
99108

0 commit comments

Comments
 (0)