anchor.diff:  indicates the data length in the 'buffer', this includes a newline and EOS byte.
   'dataptr1' is forwarded from the *Bvfprintcb()* call to callback. Parameters:
   'do_write', 'outf' are not used. 'fid' is set field number starting from *0* which
  -is being printed.
  +is being printed. On return callback function shall return *0* in case of success.
  +In case of failure, non *0* value shall be returned.
   
   Data format for printing to *stdout* or *FILE* stream is following:
   "<FIELD><TAB><VALUE><NEW_LINE>". When printing to callback, additionally EOS (0x00)
  
positive.code: tchar2	C
  tchar2	\0a
  tchar2	\09
  tfloat1	-0.11000
  tfloat1	-0.22000
  tfloat1	0.33000
  tfloat1	0.44000
  tfloat2	100000.10156
  tfloat2	200000.20312
  tfloat3	333333.12500
  tdouble1	99999.111111
  tdouble1	11111.999999
  tdouble2	-999.123000
  tstring0	HELLO Enduro/X
  tcarray2	\01\02\03\04\05
  --------------------------------------------------------------------------------
  
  Following logic is applied for NULL view fields when printing:
  
  ...
  
  
  RETURN VALUE
  ------------
  On success, *Bgetr()* and *Bgetrv()* return zero; on error, -1 is returned, with *Berror* set to 
  indicate the error.
  
  ERRORS
  ------
  Note that *Bstrerror()* returns generic error message plus custom message with 
  debug info from last function call. Function my return errors from *Bfind(3)* and
  corresponding mapped operation, e.g. *Bget(3)*, *Bfind(3)*, etc.
  
  Following additional errors may be returned by this function:
  
  
negative.code: 
  int Bvfprint (char * 'cstruct', char * 'view', FILE * 'outf');
  
  int Bvfprintcb (char * 'cstruct', char * 'view', ndrx_plugin_tplogprintubf_hook_t 'p_writef', void * 'dataptr1');
  
  
  Link with '-lubf -lnstd -lm -lpthread'
  