From: Arran Cudbard-Bell Date: Thu, 11 Apr 2024 17:00:03 +0000 (-0600) Subject: Print sizes with suffixes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6dd93d0dc6c22cc71223b9b38528d64a624583b;p=thirdparty%2Ffreeradius-server.git Print sizes with suffixes --- diff --git a/src/lib/util/size.c b/src/lib/util/size.c index 4a1b2f856fd..88e32264895 100644 --- a/src/lib/util/size.c +++ b/src/lib/util/size.c @@ -174,6 +174,7 @@ fr_slen_t fr_size_to_str(fr_sbuff_t *out, size_t in) { "PB", (uint64_t)1000 * 1000 * 1000 * 1000 * 1000}, { "EB", (uint64_t)1000 * 1000 * 1000 * 1000 * 1000 * 1000}, }; + fr_slen_t slen; fr_size_unit_t const *unit = &base10_units[0]; uint8_t pos2 = fr_low_bit_pos(in); @@ -195,5 +196,7 @@ fr_slen_t fr_size_to_str(fr_sbuff_t *out, size_t in) else if (pos2 >= 10) unit = &base2_units[pos2 / 10]; done: - return fr_sbuff_in_sprintf(&our_out, "%zu%s", in / unit->mul, unit->suffix); + slen = fr_sbuff_in_sprintf(&our_out, "%zu%s", in / unit->mul, unit->suffix); + if (slen < 0) return slen; + return fr_sbuff_set(out, &our_out); } diff --git a/src/lib/util/value.c b/src/lib/util/value.c index bb0821a9560..4e62462ed2d 100644 --- a/src/lib/util/value.c +++ b/src/lib/util/value.c @@ -5414,7 +5414,7 @@ ssize_t fr_value_box_print(fr_sbuff_t *out, fr_value_box_t const *data, fr_sbuff } case FR_TYPE_SIZE: - FR_SBUFF_IN_SPRINTF_RETURN(&our_out, "%zu", data->datum.size); + FR_SBUFF_RETURN(fr_size_to_str, &our_out, data->datum.size); break; case FR_TYPE_TIME_DELTA: diff --git a/src/tests/keywords/escape-sequences b/src/tests/keywords/escape-sequences index d600ce50d0b..459bcfc09f2 100644 --- a/src/tests/keywords/escape-sequences +++ b/src/tests/keywords/escape-sequences @@ -21,11 +21,11 @@ string result_string } -if (!("%length(%{Reply-Message})" == 39)) { +if (!(%length(%{Reply-Message}) == 39)) { test_fail } -if (!("%length(%{Callback-Number})" == 42)) { +if (!(%length(%{Callback-Number}) == 42)) { test_fail } diff --git a/src/tests/keywords/truncation b/src/tests/keywords/truncation index 1267a04425e..82912e48007 100644 --- a/src/tests/keywords/truncation +++ b/src/tests/keywords/truncation @@ -87,7 +87,7 @@ if !("0x%hex(%{test_octets})" =~ /^0x([0-9a-f]+)$/) { &result_string := "%{1}" -if (!("%length(%{result_string})" == 8166)) { +if (!(%length(%{result_string}) == 8166)) { test_fail }