aboutsummaryrefslogtreecommitdiff
path: root/src/util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.cpp')
-rw-r--r--src/util.cpp25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 13bfbbcd47..56f1de9839 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -5,13 +5,12 @@
* See http://opensource.org/licenses/MIT
*/
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdarg.h>
-
#include "util.hpp"
#include "userland.h"
+#include <stdio.h>
+#include <stdarg.h>
+
void zig_panic(const char *format, ...) {
va_list ap;
va_start(ap, format);
@@ -119,3 +118,21 @@ Slice<uint8_t> SplitIterator_rest(SplitIterator *self) {
SplitIterator memSplit(Slice<uint8_t> buffer, Slice<uint8_t> split_bytes) {
return SplitIterator{0, buffer, split_bytes};
}
+
+void zig_pretty_print_bytes(FILE *f, double n) {
+ if (n > 1024.0 * 1024.0 * 1024.0) {
+ fprintf(f, "%.03f GiB", n / 1024.0 / 1024.0 / 1024.0);
+ return;
+ }
+ if (n > 1024.0 * 1024.0) {
+ fprintf(f, "%.03f MiB", n / 1024.0 / 1024.0);
+ return;
+ }
+ if (n > 1024.0) {
+ fprintf(f, "%.03f KiB", n / 1024.0);
+ return;
+ }
+ fprintf(f, "%.03f bytes", n );
+ return;
+}
+