          The following notes,  keyed  to comments in each program, explain
          the differences:

          Note 1 - You can make short work out of converting  programs that
          use Microsoft  C  far  heap  management  by  #defining functions,
          structures, and variables that are the same or similar in Borland
          C++.

          Note 2 - You need to  add  an array to maintain information about
          the current size of each heap block.

          Note 3  -  You  need  to calculate and save the size of each heap
          block before it is allocated with Borland C++.

          Note  4 - Borland C++ does not allow you to allocate a heap block
          that is zero  bytes  in  size.  If  there is any chance that your
          program can calculate a required heap block size  of  zero bytes,
          you should check for that  possibility  prior  to  allocating the
          block.

          Note  5 - Borland C++ far heap management  is  more  robust  than
          Microsoft's, because it concatenates  adjacent  free  heap blocks
          together to form a  single  larger heap block, and it reuses heap
          blocks that were freed earlier.

          Note  6  -  The  Borland  C++ farheapinfo structure  is  slightly
          different than the  Microsoft  C _heapinfo structure. The size of
          the heap  block reported back by Microsoft _fheapwalk function is
          exactly the amount requested by  your  program.  The  Borland C++
          farheapwalk function reports the  size  of  the  entire structure
          managed by the memory manager. This includes the amount of memory
          accessible to your program, the  control  structure  used  by the
          memory manager itself, and any  bytes necessary to pad the entire
          heap structure to an exact multiple of 16 bytes.

          Note 7 -  The  Microsoft  C  _fheapwalk  function  allows  you to
          examine  and  change  free  heap  blocks, memory which  does  not
          legitimately belong to your program. The Borland  C++ farheapwalk
          function  hides  free  heap blocks from you. With Borland C++, to
          check  that the free far heap block is  not  corrupted,  use  the
          farheapcheckfree function.

          Note 8 - In providing you with information about the state of the
          heap, Microsoft C  defines  three  manifest  constants  for error
          conditions which are not  defined  by  Borland  C++. Each of them
          indicates a different type of corruption of the  heap,  and other
          than reporting this fact, there is little else that you can do in
          your program.
