blob: 99660576ed8aa5802a89d8b00ff0b524c1eaa990 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
(load "../common")
(defstruct glob-t nil
pathc pathv (reserve 0))
(caseq (os-symbol)
(:macos
(deffi-type glob-t (struct glob-t
(pathc size-t)
(nil int)
(nil size-t)
(nil int)
(pathv (carray str))
(nil (array 4 cptr)))))
((:cygnal :cygwin)
(deffi-type glob-t (struct glob-t
(pathc size-t)
(nil size-t)
(nil size-t)
(nil int)
(pathv (carray str))
(nil (array 6 cptr)))))
(t (deffi-type glob-t (struct glob-t
(pathc size-t)
(pathv (carray str))
(reserve size-t)
(nil int)
(nil (array 5 cptr))))))
(with-dyn-lib (libc)
(deffi globb "glob" int (str int closure (ptr-out glob-t)))
(deffi globfree "globfree" void ((ptr-in glob-t)))
(deffi-cb glob-cb int (str int) -1))
(let* ((g (new glob-t)))
(prinl (globb "tests/001/*.txr" 0 (glob-cb (lambda (path err))) g))
(carray-set-length g.pathv g.pathc)
(prinl g)
(prinl (vec-carray g.pathv))
(globfree g))
|