diff options
author | Eliot Horowitz <eliot@10gen.com> | 2010-02-27 23:05:40 -0500 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2010-02-27 23:05:40 -0500 |
commit | 00ca5d90fe11b3e3fa6c3651542113736adddcf1 (patch) | |
tree | 43f829efa329ad2da3d8b73054e8dcd8713fdfc3 /tools | |
parent | b32a47826e349b4cda491def8267f7daa3b80721 (diff) | |
download | mongo-00ca5d90fe11b3e3fa6c3651542113736adddcf1.tar.gz |
fix for csv import where last field has " SERVER-682
Diffstat (limited to 'tools')
-rw-r--r-- | tools/import.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/import.cpp b/tools/import.cpp index 846104dcce1..a26dd392873 100644 --- a/tools/import.cpp +++ b/tools/import.cpp @@ -201,7 +201,7 @@ public: log(1) << "filesize: " << fileSize << endl; ProgressMeter pm( fileSize ); const int BUF_SIZE = 1024 * 1024 * 4; - boost::scoped_array<char> line(new char[BUF_SIZE]); + boost::scoped_array<char> line(new char[BUF_SIZE+2]); while ( *in ){ char * buf = line.get(); in->getline( buf , BUF_SIZE ); @@ -214,6 +214,8 @@ public: if ( ! len ) continue; + buf[len+1] = 0; + if ( in->rdstate() == ios_base::eofbit ) break; assert( in->rdstate() == 0 ); |