- // Parse the list of files on stdin
- do {
- file_string.clear();
- for( int c = cin.get(); 0 != c && ! cin.eof(); c = cin.get() ) {
- file_string.push_back( c );
- }
- if( 0 != file_string.size() ) {
- // Example entry
- // type perms user group size datemodified name (7 total)
- // f 0600 cnb cnb 424 20051015205340 ./.git/index
- vector<string> vals = split( file_string, ' ', 7 );
- current.insert( new FileData( vals[0][0],
- vals[1],
- vals[2],
- vals[3],
- atoi( vals[4].c_str() ),
- atoi( vals[5].c_str() ),
- vals[6]) );
- }
- } while( ! cin.eof() );
+ set_difference( old.begin(), old.end(),
+ current.begin(), current.end(),
+ inserter( deleted, deleted.begin() ),
+ cmp );