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)