Typo.
[cl-gtk2.git] / glib / glib.utils.lisp
1 (in-package :glib)
2
3 (defcfun g-get-user-cache-dir :string)
4
5 (defun get-user-cache-dir ()
6   (g-get-user-cache-dir))
7
8 (export 'get-user-cache-dir)
9
10 (defcfun g-get-user-data-dir :string)
11
12 (defun get-user-data-dir ()
13   (g-get-user-data-dir))
14
15 (export 'get-user-data-dir)
16
17 (defcfun g-get-user-config-dir :string)
18
19 (defun get-user-config-dir ()
20   (g-get-user-config-dir))
21
22 (export 'get-user-config-dir)
23
24 (defcfun g-build-filenamev (:string :free-from-foreign t)
25   (args :pointer))
26
27 (defun build-filename (&rest args)
28   (let* ((n (length args))
29          (arr (g-malloc (* (1+ n) (foreign-type-size :pointer)))))
30
31     (iter (for i from 0)
32           (for arg in args)
33           (setf (mem-aref arr :pointer i) (g-strdup arg)))
34     (setf (mem-aref arr :pointer n) (null-pointer))
35
36     (prog1
37       (g-build-filenamev arr)
38
39       (iter (for i from 0)
40             (for str-ptr = (mem-aref arr :pointer i))
41             (until (null-pointer-p str-ptr))
42             (g-free str-ptr))
43       (g-free arr))))
44
45 (export 'build-filename)
46