From bce6f64c6e4cb72c5a6e910d9233271681b7cd85 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Fri, 11 Dec 2020 23:41:06 +0100 Subject: [PATCH] Refactored format_duration --- src/client.c | 16 ---------------- src/utils.c | 17 +++++++++++++++++ src/utils.h | 3 +++ 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/client.c b/src/client.c index b649843..3edf903 100644 --- a/src/client.c +++ b/src/client.c @@ -20,22 +20,6 @@ char *client_addr_str, *client_addr_str_ptr, *server_addr_str, *server_addr_str_ struct timeval timeout = {.tv_sec = CLIENT_TIMEOUT, .tv_usec = 0}; - -char *format_duration(unsigned long micros, char *buf) { - if (micros < 10000) { - sprintf(buf, "%.1f ms", (double) micros / 1000.0); - } else if (micros < 1000000) { - sprintf(buf, "%li ms", micros / 1000); - } else if (micros < 100000000) { - sprintf(buf, "%.2f s", (double) micros / 1000000.0); - } else if (micros < 1000000000) { - sprintf(buf, "%.1f s", (double) micros / 1000000.0); - } else { - sprintf(buf, "%li s", micros / 1000000); - } - return buf; -} - void client_terminate() { keep_alive = 0; // TODO prevent processing of further requests in connection diff --git a/src/utils.c b/src/utils.c index 4e917db..fd96567 100644 --- a/src/utils.c +++ b/src/utils.c @@ -6,3 +6,20 @@ */ #include "utils.h" + +char *format_duration(unsigned long micros, char *buf) { + if (micros < 10000) { + sprintf(buf, "%.1f ms", (double) micros / 1000); + } else if (micros < 1000000) { + sprintf(buf, "%li ms", micros / 1000); + } else if (micros < 10000000) { + sprintf(buf, "%.1f s", (double) micros / 1000000); + } else if (micros < 100000000) { + sprintf(buf, "%li s", micros / 1000000); + } else if (micros < 6000000000) { + sprintf(buf, "%.1f min", (double) micros / 1000000 / 60); + } else { + sprintf(buf, "%li min", micros / 1000000 / 60); + } + return buf; +} diff --git a/src/utils.h b/src/utils.h index 6f3c035..bf3eadd 100644 --- a/src/utils.h +++ b/src/utils.h @@ -18,4 +18,7 @@ char *log_prefix; #define print(...) out_x(, ##__VA_ARGS__, out_2(__VA_ARGS__), out_2(__VA_ARGS__), out_2(__VA_ARGS__), \ out_2(__VA_ARGS__), out_2(__VA_ARGS__), out_2(__VA_ARGS__), out_1(__VA_ARGS__)) + +char *format_duration(unsigned long micros, char *buf); + #endif //NECRONDA_SERVER_UTILS_H