Hi,

I'm working with a C library that returns an array of strings. So that is
type PPChar.  I C library does the array allocation, but doesn't do the
freeing of the array.

How am I supposed to free an array of PChar strings? I think I need to
improve my iteration too, because I'm moving the pointer of wlst, so I
probably need to make a backup of the original pointer before the iteration.

My code looks as follows:

---------------------------------
 var
    s: PChar;
    wlst: PPChar;
    i: integer;
    n: integer;
  begin
      // Returns an array of PChar strings. i = number of elements in array
      i := Hunspell_suggest(SpellPtr, wlst, s);
      if i > 0 then
        writeln(Format('  %d suggestions:', [i]));
      for n := 1 to i do
      begin
        writeln('     ', UTF8Decode(wlst^));
        Inc(wlst, SizeOf(Pointer));
      end;
    end;
---------------------------------


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to