Coverage report: /development/source/library/com/dydra/gitlab/dydra-cgi/ffi/lisp/rdfcache/utf8.lisp
| Kind | Covered | All | % |
| expression | 0 | 36 | 0.0 |
| branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
5
(declaim (inline %%utf8-get-size))
6
(defcfun ("rdfcache_utf8_get_size" %%utf8-get-size) size_t (text :string))
8
;(declaim (inline %%utf8-get-length))
9
(defcfun ("rdfcache_utf8_get_length" %%utf8-get-length) size_t (text :string))
11
(declaim (inline %%utf8-get-char))
12
(defcfun ("rdfcache_utf8_get_char" %%utf8-get-char) wchar_t (text :string))
14
(declaim (inline %%utf8-next-char))
15
(defcfun ("rdfcache_utf8_next_char" %%utf8-next-char) :pointer (text :string))
17
(declaim (inline %%utf8-validate))
18
(defcfun ("rdfcache_utf8_validate" %%utf8-validate) :boolean (text :string))
20
(declaim (inline %%utf8-to-utf32))
21
(defcfun ("rdfcache_utf8_to_utf32" %%utf8-to-utf32) ssize_t (input :string) (input-size ssize_t) (output :string) (output-size size_t))
25
(defvar &utf8-get-size (foreign-symbol-pointer "rdfcache_utf8_get_size"))
26
(defvar &utf8-get-length (foreign-symbol-pointer "rdfcache_utf8_get_length"))
27
(defvar &utf8-get-char (foreign-symbol-pointer "rdfcache_utf8_get_char"))
28
(defvar &utf8-next-char (foreign-symbol-pointer "rdfcache_utf8_next_char"))
29
(defvar &utf8-validate (foreign-symbol-pointer "rdfcache_utf8_validate"))
30
(defvar &utf8-to-utf32 (foreign-symbol-pointer "rdfcache_utf8_to_utf32"))
33
(defun %%utf8-to-hexstring (str) ;; a debugging helper
34
"Returns a hexadecimal string representation of the NUL-terminated
35
foreign UTF-8 byte string STR."
36
(declare (type foreign-pointer str))
37
(with-checked-pointer (str)
38
(let* ((+hexchars+ "0123456789abcdef")
39
(size (%%utf8-get-size str))
40
(string (make-string (* size 2))))
42
(let ((c (mem-aref str :uint8 index))
44
(setf (char string (+ i 0))
45
(aref +hexchars+ (ldb (byte 8 4) c)))
46
(setf (char string (+ i 1))
47
(aref +hexchars+ (ldb (byte 4 0) c)))))