anchor.diff:          seeder=(Left == 0)},
       case etorrent_piece_mgr:check_interest(TorrentID, Pieceset) of
           {interested, _} ->
  -            {ok, statechange_interested(NewState, true)};
  +            statechange_interested(NewState, true),
  +            {ok, NewState#state{local_interested=true}};
           not_interested ->
               {ok, NewState};
           invalid_piece ->
  
positive.code:             S
      end.
  
  %%--------------------------------------------------------------------
  %% Func: handle_got_chunk(Index, Offset, Data, Len, S) -> {ok, State}
  %% Description: We just got some chunk data. Store it in the mnesia DB
  %%--------------------------------------------------------------------
  handle_got_chunk(Index, Offset, Data, Len, S) ->
      #state{torrent_id=TorrentID} = S,
      case gb_trees:lookup({Index, Offset, Len},
                           S#state.remote_request_set) of
          {value, _} ->
              ok = etorrent_chunk_mgr:mark_fetched(TorrentID, Index, Offset, Len),
              ok = etorrent_io:write_chunk(TorrentID, Index, Offset, Data),
              ok = etorrent_chunk_mgr:mark_stored(TorrentID, Index, Offset, Len),
              %% Tell other peers we got the chunk if in endgame
              RS = gb_trees:delete_any({Index, Offset, Len}, S#state.remote_request_set),
              {ok, S#state { remote_request_set = RS }};
          none ->
              %% Stray piece, we could try to get hold of it but for now we just
              %%   throw it on the floor.
              {ok, RSet}
      end.
  
  %%--------------------------------------------------------------------
  
negative.code: -record(state, { remote_peer_id = none,
                   local_peer_id = none,
                   info_hash = none,
  
  		 %% Peer support extended messages
  		 extended_messaging = false   :: boolean(),
  