Show
Ignore:
Timestamp:
06/10/09 08:25:38 (3 years ago)
Author:
rakshasa
Message:

* Added flag to bencode when unordered bencoded strings are read.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/libtorrent/src/torrent/object_stream.cc

    r1093 r1094  
    9797      Object::list_iterator itr = object->as_list().insert(object->as_list().end(), Object()); 
    9898      object_read_bencode(input, &*itr, depth); 
     99 
     100      if (itr->flags() & Object::flag_unordered) 
     101        object->set_internal_flags(Object::flag_unordered); 
    99102    } 
    100103 
     
    108111      break; 
    109112 
    110     //    Object::string_type last; 
     113    Object::string_type last; 
    111114 
    112115    while (input->good()) { 
     
    121124        break; 
    122125 
    123       //      if (last >= str) 
    124       //        break; 
    125  
    126       object_read_bencode(input, &object->as_map()[str], depth); 
    127  
    128       //      str.swap(last); 
     126      if (last >= str) 
     127        object->set_internal_flags(Object::flag_unordered); 
     128 
     129      Object* value = &object->as_map()[str]; 
     130      object_read_bencode(input, value, depth); 
     131 
     132      if (value->flags() & Object::flag_unordered) 
     133        object->set_internal_flags(Object::flag_unordered); 
     134 
     135      str.swap(last); 
    129136    } 
    130137