@@ -13,10 +13,6 @@ export
13
13
from_byte,
14
14
from_char,
15
15
from_chars,
16
- from_buf,
17
- from_buf_len,
18
- from_c_str,
19
- from_c_str_len,
20
16
push_char,
21
17
concat,
22
18
connect,
@@ -185,40 +181,6 @@ fn from_chars(chs: [char]) -> str {
185
181
ret buf;
186
182
}
187
183
188
- #[ doc = "Create a Rust string from a null-terminated *u8 buffer" ]
189
- unsafe fn from_buf ( buf : * u8 ) -> str {
190
- let mut curr = buf, i = 0 u;
191
- while * curr != 0u8 {
192
- i += 1 u;
193
- curr = ptr:: offset ( buf, i) ;
194
- }
195
- ret from_buf_len ( buf, i) ;
196
- }
197
-
198
- #[ doc = "Create a Rust string from a null-terminated C string" ]
199
- unsafe fn from_c_str ( c_str : * libc:: c_char ) -> str {
200
- from_buf ( :: unsafe:: reinterpret_cast ( c_str) )
201
- }
202
-
203
- #[ doc = "Create a Rust string from a *u8 buffer of the given length" ]
204
- unsafe fn from_buf_len ( buf : * u8 , len : uint ) -> str {
205
- let mut v: [ u8 ] = [ ] ;
206
- vec:: reserve ( v, len + 1 u) ;
207
- vec:: as_buf ( v) { |b| ptr:: memcpy ( b, buf, len) ; }
208
- vec:: unsafe:: set_len ( v, len) ;
209
- v += [ 0u8 ] ;
210
-
211
- assert is_utf8( v) ;
212
- let s: str = :: unsafe:: reinterpret_cast ( v) ;
213
- :: unsafe:: leak ( v) ;
214
- ret s;
215
- }
216
-
217
- #[ doc = "Create a Rust string from a `*c_char` buffer of the given length" ]
218
- unsafe fn from_c_str_len ( c_str : * libc:: c_char , len : uint ) -> str {
219
- from_buf_len ( :: unsafe:: reinterpret_cast ( c_str) , len)
220
- }
221
-
222
184
#[ doc = "Concatenate a vector of strings" ]
223
185
fn concat ( v : [ str ] ) -> str {
224
186
let mut s: str = "" ;
@@ -1522,6 +1484,10 @@ fn reserve(&ss: str, nn: uint) {
1522
1484
mod unsafe {
1523
1485
export
1524
1486
// FIXME: stop exporting several of these
1487
+ from_buf,
1488
+ from_buf_len,
1489
+ from_c_str,
1490
+ from_c_str_len,
1525
1491
from_bytes,
1526
1492
from_byte,
1527
1493
slice_bytes,
@@ -1531,6 +1497,42 @@ mod unsafe {
1531
1497
shift_byte,
1532
1498
set_len;
1533
1499
1500
+ #[ doc = "Create a Rust string from a null-terminated *u8 buffer" ]
1501
+ unsafe fn from_buf ( buf : * u8 ) -> str {
1502
+ let mut curr = buf, i = 0 u;
1503
+ while * curr != 0u8 {
1504
+ i += 1 u;
1505
+ curr = ptr:: offset ( buf, i) ;
1506
+ }
1507
+ ret from_buf_len ( buf, i) ;
1508
+ }
1509
+
1510
+ #[ doc = "Create a Rust string from a *u8 buffer of the given length" ]
1511
+ unsafe fn from_buf_len ( buf : * u8 , len : uint ) -> str {
1512
+ let mut v: [ u8 ] = [ ] ;
1513
+ vec:: reserve ( v, len + 1 u) ;
1514
+ vec:: as_buf ( v) { |b| ptr:: memcpy ( b, buf, len) ; }
1515
+ vec:: unsafe:: set_len ( v, len) ;
1516
+ v += [ 0u8 ] ;
1517
+
1518
+ assert is_utf8( v) ;
1519
+ let s: str = :: unsafe:: reinterpret_cast ( v) ;
1520
+ :: unsafe:: leak ( v) ;
1521
+ ret s;
1522
+ }
1523
+
1524
+ #[ doc = "Create a Rust string from a null-terminated C string" ]
1525
+ unsafe fn from_c_str ( c_str : * libc:: c_char ) -> str {
1526
+ from_buf ( :: unsafe:: reinterpret_cast ( c_str) )
1527
+ }
1528
+
1529
+ #[ doc = "
1530
+ Create a Rust string from a `*c_char` buffer of the given length
1531
+ " ]
1532
+ unsafe fn from_c_str_len ( c_str : * libc:: c_char , len : uint ) -> str {
1533
+ from_buf_len ( :: unsafe:: reinterpret_cast ( c_str) , len)
1534
+ }
1535
+
1534
1536
#[ doc = "
1535
1537
Converts a vector of bytes to a string.
1536
1538
@@ -2222,15 +2224,15 @@ mod tests {
2222
2224
fn test_from_buf ( ) unsafe {
2223
2225
let a = [ 65u8 , 65u8 , 65u8 , 65u8 , 65u8 , 65u8 , 65u8 , 0u8 ] ;
2224
2226
let b = vec:: unsafe:: to_ptr ( a) ;
2225
- let c = from_buf ( b) ;
2227
+ let c = unsafe :: from_buf ( b) ;
2226
2228
assert ( c == "AAAAAAA" ) ;
2227
2229
}
2228
2230
2229
2231
#[ test]
2230
2232
fn test_from_buf_len ( ) unsafe {
2231
2233
let a = [ 65u8 , 65u8 , 65u8 , 65u8 , 65u8 , 65u8 , 65u8 , 0u8 ] ;
2232
2234
let b = vec:: unsafe:: to_ptr ( a) ;
2233
- let c = from_buf_len ( b, 3 u) ;
2235
+ let c = unsafe :: from_buf_len ( b, 3 u) ;
2234
2236
assert ( c == "AAA" ) ;
2235
2237
}
2236
2238
@@ -2252,7 +2254,7 @@ mod tests {
2252
2254
fn test_as_buf2 ( ) unsafe {
2253
2255
let s = "hello" ;
2254
2256
let sb = as_buf ( s, { |b| b } ) ;
2255
- let s_cstr = from_buf ( sb) ;
2257
+ let s_cstr = unsafe :: from_buf ( sb) ;
2256
2258
assert ( eq ( s_cstr, s) ) ;
2257
2259
}
2258
2260
0 commit comments