anchor.diff:  
   %% do the header and continue
   deliver_dyn_file(CliSock, Specs, ARG, UT, N) ->
  -    Fd = ut_open(UT),
  -    Bin = ut_read(Fd),
  -    deliver_dyn_file(CliSock, Bin, Fd, Specs, ARG, UT, N).
  -
  -
  -
  -deliver_dyn_file(CliSock, Bin, Fd, [H|T],Arg, UT, N) ->
  +    Bin = ut_read(UT),
  +    deliver_dyn_file(CliSock, Bin, Specs, ARG, UT, N).
  +
  +deliver_dyn_file(CliSock, Bin, [H|T], Arg, UT, N) ->
       ?Debug("deliver_dyn_file: ~p~n", [H]),
       case H of
           {mod, LineNo, YawsFile, NumChars, Mod, out} ->
  -            {_, Bin2} = skip_data(Bin, Fd, NumChars),
  +            {_, Bin2} = skip_data(Bin, NumChars),
               deliver_dyn_part(CliSock, LineNo, YawsFile,
                                N, Arg, UT,
                                fun(A)->Mod:out(A) end,
  -                             fun(A)->deliver_dyn_file(
  -                                       CliSock,Bin2,Fd,T,A,UT,0)
  +                             fun(A)->deliver_dyn_file(CliSock,Bin2,T,A,UT,0)
                                end);
           {data, 0} ->
  -            deliver_dyn_file(CliSock, Bin, Fd,T,Arg,UT,N);
  +            deliver_dyn_file(CliSock, Bin, T, Arg, UT, N);
           {data, NumChars} ->
  -            {Send, Bin2} = skip_data(Bin, Fd, NumChars),
  +            {Send, Bin2} = skip_data(Bin, NumChars),
               accumulate_content(Send),
  -            deliver_dyn_file(CliSock, Bin2, Fd, T,Arg,UT,N);
  +            deliver_dyn_file(CliSock, Bin2, T, Arg, UT, N);
           {skip, 0} ->
  -            deliver_dyn_file(CliSock, Bin, Fd,T,Arg,UT,N);
  +            deliver_dyn_file(CliSock, Bin, T, Arg, UT, N);
           {skip, NumChars} ->
  -            {_, Bin2} = skip_data(Bin, Fd, NumChars),
  -            deliver_dyn_file(CliSock, Bin2, Fd, T,Arg,UT,N);
  +            {_, Bin2} = skip_data(Bin, NumChars),
  +            deliver_dyn_file(CliSock, Bin2, T, Arg, UT, N);
           {binding, NumChars} ->
  -            {Send, Bin2} = skip_data(Bin, Fd, NumChars),
  +            {Send, Bin2} = skip_data(Bin, NumChars),
               "%%"++Key = binary_to_list(Send),
               Chunk =
                   case get({binding, Key--"%%"}) of
  
positive.code:             ?Debug("Mime-Type: ~p~n", [Mime]),
              case compressible_mime_type(Mime) of
                  true ->
                      case yaws:accepts_gzip(Arg#arg.headers,
                                             Mime) of
                          true ->
                              case Mode of
                                  final ->
                                      case yaws_zlib:gzip(to_binary(Data)) of
                                          {ok, DB} ->
                                              {data, DB};
                                          _Err ->
                                              ?Debug(
                                                 "gzip Err: ~p~n", [_Err]),
                                              false
                                      end;
                                  stream ->
                                      true
                              end;
  
negative.code:     end.
  
  
  ut_read(UT) ->
      ?Debug("ut_read() UT.fullpath = ~p~n", [UT#urltype.fullpath]),
      case yaws:outh_get_content_encoding() of
          identity ->
              case UT#urltype.data of
                  undefined ->
                      ?Debug("ut_read reading\n",[]),
                      {ok, Bin} = file:read_file(UT#urltype.fullpath),
                      ?Debug("ut_read read ~p\n",[size(Bin)]),
                      Bin;
                  B when is_binary(B) ->
                      B
              end;
          deflate ->
              case UT#urltype.deflate of
                  B when is_binary(B) ->
                      ?Debug("ut_read using deflated binary of size ~p~n",
                             [size(B)]),
                      B
              end
      end.
  
  
  parse_range(L, Tot) ->
      case catch parse_range_throw(L, Tot) of
  