@@ -7,7 +7,6 @@ use serialize::json;
77use serialize:: json:: Json ;
88use std:: io:: { MemWriter , BufReader } ;
99use std:: io:: util:: LimitReader ;
10- use std:: str;
1110use time:: Timespec ;
1211
1312use error:: { PostgresError , PgWrongType , PgStreamError , PgWasNull } ;
@@ -267,8 +266,7 @@ impl RawFromSql for Vec<u8> {
267266impl RawFromSql for ~str {
268267 fn raw_from_sql < R : Reader > ( raw : & mut R )
269268 -> Result < ~str , PostgresError > {
270- // FIXME
271- Ok ( str:: from_utf8 ( try_pg ! ( raw. read_to_end( ) ) . as_slice ( ) ) . unwrap ( ) . to_owned ( ) )
269+ Ok ( StrBuf :: from_utf8 ( try_pg ! ( raw. read_to_end( ) ) ) . unwrap ( ) . into_owned ( ) )
272270 }
273271}
274272
@@ -483,15 +481,15 @@ impl FromSql for Option<HashMap<~str, Option<~str>>> {
483481
484482 for _ in range ( 0 , count) {
485483 let key_len = try_pg ! ( rdr. read_be_i32( ) ) ;
486- let key = str :: from_utf8 ( try_pg ! ( rdr. read_exact( key_len as uint) ) . as_slice ( ) )
487- . unwrap ( ) . to_owned ( ) ;
484+ let key = try_pg ! ( rdr. read_exact( key_len as uint) ) ;
485+ let key = StrBuf :: from_utf8 ( key ) . unwrap ( ) . into_owned ( ) ;
488486
489487 let val_len = try_pg ! ( rdr. read_be_i32( ) ) ;
490488 let val = if val_len < 0 {
491489 None
492490 } else {
493- Some ( str :: from_utf8 ( try_pg ! ( rdr. read_exact( val_len as uint) ) . as_slice ( ) )
494- . unwrap ( ) . to_owned ( ) )
491+ let val = try_pg ! ( rdr. read_exact( val_len as uint) ) ;
492+ Some ( StrBuf :: from_utf8 ( val ) . unwrap ( ) . into_owned ( ) )
495493 } ;
496494
497495 map. insert ( key, val) ;
0 commit comments