3 (defcfun g-get-user-cache-dir
:string
)
5 (defun get-user-cache-dir ()
6 (g-get-user-cache-dir))
8 (export 'get-user-cache-dir
)
10 (defcfun g-get-user-data-dir
:string
)
12 (defun get-user-data-dir ()
13 (g-get-user-data-dir))
15 (export 'get-user-data-dir
)
17 (defcfun g-get-user-config-dir
:string
)
19 (defun get-user-config-dir ()
20 (g-get-user-config-dir))
22 (export 'get-user-config-dir
)
24 (defcfun g-build-filenamev
(:string
:free-from-foreign t
)
27 (defun build-filename (&rest args
)
28 (let* ((n (length args
))
29 (arr (g-malloc (* (1+ n
) (foreign-type-size :pointer
)))))
33 (setf (mem-aref arr
:pointer i
) (g-strdup arg
)))
34 (setf (mem-aref arr
:pointer n
) (null-pointer))
37 (g-build-filenamev arr
)
40 (for str-ptr
= (mem-aref arr
:pointer i
))
41 (until (null-pointer-p str-ptr
))
45 (export 'build-filename
)