]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Print sizes with suffixes
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 11 Apr 2024 17:00:03 +0000 (11:00 -0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 11 Apr 2024 17:09:50 +0000 (11:09 -0600)
src/lib/util/size.c
src/lib/util/value.c
src/tests/keywords/escape-sequences
src/tests/keywords/truncation

index 4a1b2f856fd76b227c76438d1abf62c339dfcd71..88e32264895e7c812a2fd211b68a4736ea2c7b80 100644 (file)
@@ -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);
 }
index bb0821a956045ef42ffdd5505b84b63cdb9a65bb..4e62462ed2d28ca6816953fa24d4c423134a9a3d 100644 (file)
@@ -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:
index d600ce50d0b8b1d49fe4fa31e75035ae76e82fe8..459bcfc09f218a1be0d2ee62e89414338986e6e1 100644 (file)
@@ -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
 }
 
index 1267a04425eda14b57cd41b804c391338676a254..82912e480076b0a3e27efc31d36eb1dec3d2adb4 100644 (file)
@@ -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
 }