tree-wide: never use the off_t unless glibc makes us use it
off_t is a really weird type as it is usually 64bit these days (at least in sane programs), but could theoretically be 32bit. We don't support off_t as 32bit builds though, but still constantly deal with safely converting from off_t to other types and back for no point. Hence, never use the type anymore. Always use uint64_t instead. This has various benefits, including that we can expose these values directly as D-Bus properties, and also that the values parse the same in all cases.
This commit is contained in:
@@ -146,7 +146,7 @@ static void test_copy_bytes(void) {
|
||||
|
||||
assert_se(pipe2(pipefd, O_CLOEXEC) == 0);
|
||||
|
||||
r = copy_bytes(infd, pipefd[1], (off_t) -1, false);
|
||||
r = copy_bytes(infd, pipefd[1], (uint64_t) -1, false);
|
||||
assert_se(r == 0);
|
||||
|
||||
r = read(pipefd[0], buf, sizeof(buf));
|
||||
|
||||
@@ -893,7 +893,7 @@ static void test_protect_errno(void) {
|
||||
}
|
||||
|
||||
static void test_parse_size(void) {
|
||||
off_t bytes;
|
||||
uint64_t bytes;
|
||||
|
||||
assert_se(parse_size("111", 1024, &bytes) == 0);
|
||||
assert_se(bytes == 111);
|
||||
@@ -960,12 +960,12 @@ static void test_parse_size(void) {
|
||||
assert_se(parse_size("-10B 20K", 1024, &bytes) == -ERANGE);
|
||||
}
|
||||
|
||||
static void test_config_parse_iec_off(void) {
|
||||
off_t offset = 0;
|
||||
assert_se(config_parse_iec_off(NULL, "/this/file", 11, "Section", 22, "Size", 0, "4M", &offset, NULL) == 0);
|
||||
static void test_config_parse_iec_uint64(void) {
|
||||
uint64_t offset = 0;
|
||||
assert_se(config_parse_iec_uint64(NULL, "/this/file", 11, "Section", 22, "Size", 0, "4M", &offset, NULL) == 0);
|
||||
assert_se(offset == 4 * 1024 * 1024);
|
||||
|
||||
assert_se(config_parse_iec_off(NULL, "/this/file", 11, "Section", 22, "Size", 0, "4.5M", &offset, NULL) == 0);
|
||||
assert_se(config_parse_iec_uint64(NULL, "/this/file", 11, "Section", 22, "Size", 0, "4.5M", &offset, NULL) == 0);
|
||||
}
|
||||
|
||||
static void test_strextend(void) {
|
||||
@@ -2250,7 +2250,7 @@ int main(int argc, char *argv[]) {
|
||||
test_u64log2();
|
||||
test_protect_errno();
|
||||
test_parse_size();
|
||||
test_config_parse_iec_off();
|
||||
test_config_parse_iec_uint64();
|
||||
test_strextend();
|
||||
test_strrep();
|
||||
test_split_pair();
|
||||
|
||||
Reference in New Issue
Block a user