2. glob tests

Start felix section to lib/glob.flx[1 /1 ]
     1: #line 1069 "./lpsrc/flx_glob.pak"
     2: #import <flx.flxh>
     3: include "stl";
     4: 
     5: open Stl::Vector;
     6: open C_hack;
     7: 
     8: module glob {
     9:   // glob
    10:   header '#include "flx_glob.hpp"';
    11:   requires package "flx_glob";
    12:   cstruct glob_t {
    13:     gl_pathc: size;
    14:     gl_pathv: ptr[charp];
    15:     gl_offs: size;
    16:   };
    17:   private proc post_incr[t]: lvalue[ptr[t]] = "$1++;";
    18: 
    19:   proc glob: string * ptr[glob_t] = "::glob($1.data(),0,NULL,$2);";
    20:   proc globfree: ptr[glob_t] = "globfree($1);";
    21: 
    22:   gen glob (pat:string): stl_vector[string] =
    23:   {
    24:     var glob_data: glob_t; glob_data.gl_offs=0;
    25:     glob(pat,addr glob_data);
    26:     var n = glob_data.gl_pathc;
    27:     var p = glob_data.gl_pathv;
    28:     var pfile = *p;
    29:     var files: stl_vector[string];
    30:     whilst not isNULL(pfile) do
    31:       var file = str(pfile);
    32:       push_back (files, file);
    33:       p++;
    34:       pfile = *p;
    35:     done;
    36:     globfree(addr glob_data);
    37:     return files;
    38:   }
    39: }
    40: 
End felix section to lib/glob.flx[1]
Start felix section to test/glob/glob-1-0.flx[1 /1 ]
     1: #line 1109 "./lpsrc/flx_glob.pak"
     2: #import <flx.flxh>
     3: include "stl";
     4: include "glob";
     5: 
     6: var files = glob::glob("lpsrc/*.pak");
     7: open Reversible_Sequence[
     8:   Stl::Vector::stl_vector[string],
     9:   Stl::Vector::stl_vector_iterator[string],
    10:   Stl::Vector::stl_vector_reverse_iterator[string],
    11:   string
    12: ];
    13: 
    14: var p = begin files; whilst p != end files do
    15:   basename := (*p).[6 to];
    16:   if basename == "flx_glob.pak" do print "true"; endl; done;
    17:   ++p;
    18: done;
End felix section to test/glob/glob-1-0.flx[1]
Start data section to test/glob/glob-1-0.expect[1 /1 ]
     1: true
End data section to test/glob/glob-1-0.expect[1]