anchor.diff:      send_chunk(Context, end_boundary(Boundary), fin).
   
   
  -send_file_body_loop(Context, Offset, Size, _Device, _FinNoFin) when Offset =:= Size ->
  -    Context;
  +send_file_body_loop(Context, Offset, Size, _Device, FinNoFin) when Offset =:= Size ->
  +    send_chunk(Context, <<>>, FinNoFin);
   send_file_body_loop(Context, Offset, Size, Device, FinNoFin) when Size - Offset =< ?FILE_CHUNK_LENGTH ->
       {ok, Data} = file:read(Device, Size - Offset),
       send_chunk(Context, Data, FinNoFin);
   send_file_body_loop(Context, Offset, Size, Device, FinNoFin) ->
       {ok, Data} = file:read(Device, ?FILE_CHUNK_LENGTH),
       send_chunk(Context, Data, nofin),
  -    send_file_body_loop(Context, Offset+?FILE_CHUNK_LENGTH, Size, Device, FinNoFin).
  +    send_file_body_loop(Context, Offset+iolist_size(Data), Size, Device, FinNoFin).
   
   send_writer_body(Context, BodyFun) ->
       BodyFun(fun(Data, false, ContextW) ->
  
positive.code: %% @author Justin Sheehy <justin@basho.com>
  %% @author Andy Gross <andy@basho.com>
  %% @copyright 2007-2009 Basho Technologies
  %% Based on mochiweb_request.erl, which is Copyright 2007 Mochi Media, Inc.
  %%
  %%    Licensed under the Apache License, Version 2.0 (the "License");
  
negative.code:     send_file_body_loop(Context, 0, Length, IO, fin).
  
  send_file_body(Context, Length, Filename, FinNoFin) ->
      {ok, FD} = file:open(Filename, [read,raw,binary]),
      try
          send_file_body_loop(Context, 0, Length, FD, FinNoFin)
      after
  