File tree Expand file tree Collapse file tree 3 files changed +15
-3
lines changed Expand file tree Collapse file tree 3 files changed +15
-3
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: 53b9d1a3248143aafe421566ba31742579da9722
2
+ refs/heads/master: 25ba057fad54da946bb3d72925c9a93b0abe61ac
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: 6e7f170fedd3c526a643c0b2d13863acd982be02
5
5
refs/heads/try: a97642026c18a624ff6ea01075dd9550f8ed07ff
Original file line number Diff line number Diff line change @@ -1254,7 +1254,7 @@ impl FromStrRadix for BigInt {
1254
1254
}
1255
1255
}
1256
1256
1257
- trait RandBigInt {
1257
+ pub trait RandBigInt {
1258
1258
/// Generate a random `BigUint` of the given bit size.
1259
1259
fn gen_biguint(&mut self, bit_size: uint) -> BigUint;
1260
1260
Original file line number Diff line number Diff line change @@ -113,13 +113,15 @@ pub mod win32 {
113
113
let mut done = false ;
114
114
while !done {
115
115
let mut buf = vec:: from_elem ( n as uint , 0u16 ) ;
116
- let k = f ( buf. as_mut_ptr ( ) , TMPBUF_SZ as DWORD ) ;
116
+ let k = f ( buf. as_mut_ptr ( ) , n ) ;
117
117
if k == ( 0 as DWORD ) {
118
118
done = true ;
119
119
} else if k == n &&
120
120
libc:: GetLastError ( ) ==
121
121
libc:: ERROR_INSUFFICIENT_BUFFER as DWORD {
122
122
n *= ( 2 as DWORD ) ;
123
+ } else if k >= n {
124
+ n = k;
123
125
} else {
124
126
done = true ;
125
127
}
@@ -1494,6 +1496,16 @@ mod tests {
1494
1496
}
1495
1497
}
1496
1498
1499
+ #[test]
1500
+ fn test_env_set_get_huge() {
1501
+ let n = make_rand_name();
1502
+ let s = " x".repeat(10000);
1503
+ setenv(n, s);
1504
+ assert_eq!(getenv(n), Some(s));
1505
+ unsetenv(n);
1506
+ assert_eq!(getenv(n), None);
1507
+ }
1508
+
1497
1509
#[test]
1498
1510
fn test_env_setenv() {
1499
1511
let n = make_rand_name();
You can’t perform that action at this time.
0 commit comments