chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rules: simplify mmc RPMB handling
[elogind.git]
/
src
/
libsystemd-terminal
/
test-term-parser.c
diff --git
a/src/libsystemd-terminal/test-term-parser.c
b/src/libsystemd-terminal/test-term-parser.c
index ed16f5f2769df41e01ef49963095b2560ca39394..e22614d06dd2e521081297c78826f25d7b9e0a31 100644
(file)
--- a/
src/libsystemd-terminal/test-term-parser.c
+++ b/
src/libsystemd-terminal/test-term-parser.c
@@
-30,42
+30,44
@@
#include "macro.h"
#include "term-internal.h"
#include "util.h"
#include "macro.h"
#include "term-internal.h"
#include "util.h"
+#include "utf8.h"
static void test_term_utf8_invalid(void) {
term_utf8 p = { };
static void test_term_utf8_invalid(void) {
term_utf8 p = { };
-
const
uint32_t *res;
+ uint32_t *res;
size_t len;
size_t len;
-
res
= term_utf8_decode(NULL, NULL, 0);
- assert_se(
res == NULL
);
+
len
= term_utf8_decode(NULL, NULL, 0);
+ assert_se(
!len
);
- res = term_utf8_decode(&p, NULL, 0);
- assert_se(res != NULL);
-
- len = 5;
- res = term_utf8_decode(NULL, &len, 0);
- assert_se(res == NULL);
- assert_se(len == 0);
+ len = term_utf8_decode(&p, NULL, 0);
+ assert_se(len == 1);
- len = 5;
- res = term_utf8_decode(&p, &len, 0);
+ res = NULL;
+ len = term_utf8_decode(NULL, &res, 0);
+ assert_se(!len);
assert_se(res != NULL);
assert_se(res != NULL);
+ assert_se(!*res);
+
+ len = term_utf8_decode(&p, &res, 0);
assert_se(len == 1);
assert_se(len == 1);
+ assert_se(res != NULL);
+ assert_se(!*res);
- len = 5;
- res = term_utf8_decode(&p, &len, 0xCf);
- assert_se(res == NULL);
+ len = term_utf8_decode(&p, &res, 0xCf);
assert_se(len == 0);
assert_se(len == 0);
-
- len = 5;
- res = term_utf8_decode(&p, &len, 0x0);
assert_se(res != NULL);
assert_se(res != NULL);
+ assert_se(!*res);
+
+ len = term_utf8_decode(&p, &res, 0);
assert_se(len == 2);
assert_se(len == 2);
+ assert_se(res != NULL);
+ assert_se(res[0] == 0xCf && res[1] == 0);
}
static void test_term_utf8_range(void) {
term_utf8 p = { };
}
static void test_term_utf8_range(void) {
term_utf8 p = { };
-
const
uint32_t *res;
+ uint32_t *res;
char u8[4];
uint32_t i, j;
size_t ulen, len;
char u8[4];
uint32_t i, j;
size_t ulen, len;
@@
-73,13
+75,13
@@
static void test_term_utf8_range(void) {
/* Convert all ucs-4 chars to utf-8 and back */
for (i = 0; i < 0x10FFFF; ++i) {
/* Convert all ucs-4 chars to utf-8 and back */
for (i = 0; i < 0x10FFFF; ++i) {
- ulen =
term_utf8_encode
(u8, i);
+ ulen =
utf8_encode_unichar
(u8, i);
if (!ulen)
continue;
for (j = 0; j < ulen; ++j) {
if (!ulen)
continue;
for (j = 0; j < ulen; ++j) {
-
res = term_utf8_decode(&p, &len
, u8[j]);
- if (
!res
) {
+
len = term_utf8_decode(&p, &res
, u8[j]);
+ if (
len < 1
) {
assert_se(j + 1 != ulen);
continue;
}
assert_se(j + 1 != ulen);
continue;
}
@@
-117,13
+119,13
@@
static void test_term_utf8_mix(void) {
0x00F0, 0x0080, 0x0080, 0x0001,
};
term_utf8 p = { };
0x00F0, 0x0080, 0x0080, 0x0001,
};
term_utf8 p = { };
-
const
uint32_t *res;
+ uint32_t *res;
unsigned int i, j;
size_t len;
for (i = 0, j = 0; i < sizeof(source); ++i) {
unsigned int i, j;
size_t len;
for (i = 0, j = 0; i < sizeof(source); ++i) {
-
res = term_utf8_decode(&p, &len
, source[i]);
- if (
!res
)
+
len = term_utf8_decode(&p, &res
, source[i]);
+ if (
len < 1
)
continue;
assert_se(j + len <= ELEMENTSOF(result));
continue;
assert_se(j + len <= ELEMENTSOF(result));