anchor.diff:  %% API
   start_link(LibPid)  -> gen_server:start_link(?MODULE, [LibPid], []).
   scan_dir(Pid, Dir)  -> gen_server:call(Pid, {scan_dir, Dir},  infinity).
  -scan_file(Pid, F)   -> gen_server:call(Pid, {scan_file, F}, 30000).
  +scan_file(Pid, F)   -> gen_server:call(Pid, {scan_file, F}, 10000).
   
   %% gen_server callbacks
   init([LibPid]) ->
  
positive.code:     ?LOG(error, "Scanner terminated: ~p",[Reason]),
      {noreply, State#state{port=undefined}};
  
  handle_info(_Msg, State) -> {noreply, State}.
  
  terminate(_Reason, #state{port = Port} = _State) when is_port(Port) -> 
  	(catch port_close(Port)), ok;
  
negative.code:                     {reply, ok, State1};
  				{error, scanner_crashed} -> {reply, {error, scanner_crashed}, State#state{port=undefined}};
  				{error, scanner_bug}     -> {reply, {error, scanner_bug}, State#state{port=undefined}};
  				{error, timeout}         -> {reply, {error, no_tags}, State#state{port=undefined}};
                  {error, R} ->
                      {reply, {error, R}, State1}
              end;
  