anchor.diff:      end.
   
   free_mem() ->
  -    Cmd = "uname; free",
  -    Output = string:tokens(os:cmd(Cmd), "\n"),
  -    io:format("Output from command ~p\n~p\n",[Cmd,Output]),
  -    case Output of
  -	[OS, ColumnNames, Values | _] ->
  -	    case string:str(OS,"Linux") of
  -		0 -> 
  -		    io:format("Unknown OS\n",[]),
  -		    undefined;
  -		_ ->
  -		    case {string:tokens(ColumnNames, " \t"),
  -			  string:tokens(Values, " \t")} of
  -			{[_,_,"free"|_],["Mem:",_,_,FreeKb|_]} ->
  -			    list_to_integer(FreeKb) div 1024;
  -			_ ->
  -			    io:format("Failed to parse output from 'free':\n",[]),
  -			    undefined
  -		    end
  -	    end;
  -	_ ->
  -	    io:format("Too few lines in output\n",[]),
  -	    undefined
  -    end.
  -    
  +    {ok,Apps} = application:ensure_all_started(os_mon),
  +    Mem = memsup:get_system_memory_data(),
  +    [ok = application:stop(App)||App <- Apps],
  +    case proplists:get_value(free_memory,Mem) of
  +        undefined -> undefined;
  +        Val -> Val div 1024
  +    end.
   
   system_limit(Config) when is_list(Config) ->
       WordSize = erlang:system_info(wordsize),
  
positive.code: huge_float_check({'EXIT',{badarg,_}}) -> ok.
  
  huge_binary(Config) when is_list(Config) ->
      ct:timetrap({seconds, 30}),
      16777216 = size(<<0:(id(1 bsl 26)),(-1):(id(1 bsl 26))>>),
      garbage_collect(),
      {Shift,Return} = case free_mem() of
  
negative.code:     ok.
  
  badarg(Config) when is_list(Config) ->
      {'EXIT',{badarg,_}} = (catch <<0:(id(1 bsl 100)),0:(id(-1))>>),
      {'EXIT',{badarg,_}} = (catch <<0:(id(1 bsl 100)),0:(id(-(1 bsl 70)))>>),
      {'EXIT',{badarg,_}} = (catch <<0:(id(-(1 bsl 70))),0:(id(1 bsl 100))>>),
      {'EXIT',{badarg,_}} = (catch <<(id(<<>>))/binary,0:(id(-(1 bsl 100)))>>),
      ok.
  
  copy_writable_binary(Config) when is_list(Config) ->
  