diff --git a/CMakeLists.txt b/CMakeLists.txt index dc33c998f..64ee2af83 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -342,7 +342,7 @@ fastfetch_load_text(src/data/structure.txt DATATEXT_STRUCTURE) configure_file(src/fastfetch_config.h.in fastfetch_config.h @ONLY) configure_file(src/fastfetch_datatext.h.in fastfetch_datatext.h @ONLY) if(APPLE) - configure_file(src/util/apple/Info.plist.in Info.plist @ONLY) + configure_file(src/util/impl/apple/Info.plist.in Info.plist @ONLY) endif() #################### @@ -473,33 +473,33 @@ set(LIBFASTFETCH_SRC src/options/display.c src/options/logo.c src/options/general.c - src/util/commandoption.c - src/util/duration.c - src/util/font.c - src/util/format.c - src/util/frequency.c - src/util/init.c - src/util/jsonconfig.c - src/util/library.c - src/util/netif.c - src/util/networking_common.c - src/util/option.c - src/util/parsing.c - src/util/percent.c - src/util/printing.c - src/util/properties.c - src/util/settings.c - src/util/size.c - src/util/temps.c - src/util/time.c - src/util/edidHelper.c - src/util/base64.c - src/util/FFlist.c - src/util/FFstrbuf.c - src/util/kmod.c - src/util/path.c - src/util/FFPlatform.c - src/util/smbiosHelper.c + src/util/impl/commandoption.c + src/util/impl/duration.c + src/util/impl/font.c + src/util/impl/format.c + src/util/impl/frequency.c + src/util/impl/init.c + src/util/impl/jsonconfig.c + src/util/impl/library.c + src/util/impl/netif.c + src/util/impl/networking_common.c + src/util/impl/option.c + src/util/impl/parsing.c + src/util/impl/percent.c + src/util/impl/printing.c + src/util/impl/properties.c + src/util/impl/settings.c + src/util/impl/size.c + src/util/impl/temps.c + src/util/impl/time.c + src/util/impl/edidHelper.c + src/util/impl/base64.c + src/util/impl/FFlist.c + src/util/impl/FFstrbuf.c + src/util/impl/kmod.c + src/util/impl/path.c + src/util/impl/FFPlatform.c + src/util/impl/smbiosHelper.c ) if(LINUX) @@ -578,13 +578,13 @@ if(LINUX) src/detection/de/de_linux.c src/detection/wmtheme/wmtheme_linux.c src/detection/camera/camera_linux.c - src/util/dbus.c - src/util/io_unix.c - src/util/netif_linux.c - src/util/networking_linux.c - src/util/processing_linux.c - src/util/FFPlatform_unix.c - src/util/binary_linux.c + src/util/impl/dbus.c + src/util/impl/io_unix.c + src/util/impl/netif_linux.c + src/util/impl/networking_linux.c + src/util/impl/processing_linux.c + src/util/impl/FFPlatform_unix.c + src/util/impl/binary_linux.c ) elseif(ANDROID) list(APPEND LIBFASTFETCH_SRC @@ -651,13 +651,13 @@ elseif(ANDROID) src/detection/de/de_linux.c src/detection/wmtheme/wmtheme_linux.c src/detection/camera/camera_android.c - src/util/dbus.c - src/util/io_unix.c - src/util/netif_linux.c - src/util/networking_linux.c - src/util/processing_linux.c - src/util/FFPlatform_unix.c - src/util/binary_linux.c + src/util/impl/dbus.c + src/util/impl/io_unix.c + src/util/impl/netif_linux.c + src/util/impl/networking_linux.c + src/util/impl/processing_linux.c + src/util/impl/FFPlatform_unix.c + src/util/impl/binary_linux.c ) elseif(FreeBSD) list(APPEND LIBFASTFETCH_SRC @@ -732,14 +732,14 @@ elseif(FreeBSD) src/detection/de/de_linux.c src/detection/wmtheme/wmtheme_linux.c src/detection/camera/camera_linux.c - src/util/dbus.c - src/util/io_unix.c - src/util/netif_bsd.c - src/util/networking_linux.c - src/util/processing_linux.c - src/util/sysctl.c - src/util/FFPlatform_unix.c - src/util/binary_linux.c + src/util/impl/dbus.c + src/util/impl/io_unix.c + src/util/impl/netif_bsd.c + src/util/impl/networking_linux.c + src/util/impl/processing_linux.c + src/util/impl/sysctl.c + src/util/impl/FFPlatform_unix.c + src/util/impl/binary_linux.c ) if(DragonFly) list(APPEND LIBFASTFETCH_SRC @@ -825,14 +825,14 @@ elseif(NetBSD) src/detection/de/de_linux.c src/detection/wmtheme/wmtheme_linux.c src/detection/camera/camera_linux.c - src/util/dbus.c - src/util/io_unix.c - src/util/netif_bsd.c - src/util/networking_linux.c - src/util/processing_linux.c - src/util/sysctl.c - src/util/FFPlatform_unix.c - src/util/binary_linux.c + src/util/impl/dbus.c + src/util/impl/io_unix.c + src/util/impl/netif_bsd.c + src/util/impl/networking_linux.c + src/util/impl/processing_linux.c + src/util/impl/sysctl.c + src/util/impl/FFPlatform_unix.c + src/util/impl/binary_linux.c ) elseif(OpenBSD) list(APPEND LIBFASTFETCH_SRC @@ -907,15 +907,15 @@ elseif(OpenBSD) src/detection/de/de_linux.c src/detection/wmtheme/wmtheme_linux.c src/detection/camera/camera_linux.c - src/util/dbus.c - src/util/io_unix.c - src/util/netif_bsd.c - src/util/networking_linux.c - src/util/processing_linux.c - src/util/sysctl.c - src/util/FFPlatform_unix.c - src/util/binary_linux.c - src/util/smbiosHelper.c + src/util/impl/dbus.c + src/util/impl/io_unix.c + src/util/impl/netif_bsd.c + src/util/impl/networking_linux.c + src/util/impl/processing_linux.c + src/util/impl/sysctl.c + src/util/impl/FFPlatform_unix.c + src/util/impl/binary_linux.c + src/util/impl/smbiosHelper.c ) elseif(APPLE) list(APPEND LIBFASTFETCH_SRC @@ -977,16 +977,16 @@ elseif(APPLE) src/detection/de/de_nosupport.c src/detection/wmtheme/wmtheme_apple.m src/detection/camera/camera_apple.m - src/util/io_unix.c - src/util/netif_apple.c - src/util/networking_linux.c - src/util/processing_linux.c - src/util/sysctl.c - src/util/apple/cf_helpers.c - src/util/apple/osascript.m - src/util/apple/smc_temps.c - src/util/FFPlatform_unix.c - src/util/binary_apple.c + src/util/impl/io_unix.c + src/util/impl/netif_apple.c + src/util/impl/networking_linux.c + src/util/impl/processing_linux.c + src/util/impl/sysctl.c + src/util/impl/apple/cf_helpers.c + src/util/impl/apple/osascript.m + src/util/impl/apple/smc_temps.c + src/util/impl/FFPlatform_unix.c + src/util/impl/binary_apple.c ) elseif(WIN32) list(APPEND LIBFASTFETCH_SRC @@ -1047,19 +1047,19 @@ elseif(WIN32) src/detection/de/de_nosupport.c src/detection/wmtheme/wmtheme_windows.c src/detection/camera/camera_windows.cpp - src/util/io_windows.c - src/util/netif_windows.c - src/util/networking_windows.c - src/util/processing_windows.c - src/util/windows/getline.c - src/util/windows/com.cpp - src/util/windows/registry.c - src/util/windows/unicode.c - src/util/windows/wmi.cpp - src/util/windows/version.c - src/util/FFPlatform_windows.c - src/util/binary_windows.c - src/util/debug_windows.c + src/util/impl/io_windows.c + src/util/impl/netif_windows.c + src/util/impl/networking_windows.c + src/util/impl/processing_windows.c + src/util/impl/windows/getline.c + src/util/impl/windows/com.cpp + src/util/impl/windows/registry.c + src/util/impl/windows/unicode.c + src/util/impl/windows/wmi.cpp + src/util/impl/windows/version.c + src/util/impl/FFPlatform_windows.c + src/util/impl/binary_windows.c + src/util/impl/debug_windows.c ) elseif(SunOS) list(APPEND LIBFASTFETCH_SRC @@ -1134,13 +1134,13 @@ elseif(SunOS) src/detection/de/de_linux.c src/detection/wmtheme/wmtheme_linux.c src/detection/camera/camera_nosupport.c - src/util/dbus.c - src/util/io_unix.c - src/util/netif_apple.c - src/util/networking_linux.c - src/util/processing_linux.c - src/util/FFPlatform_unix.c - src/util/binary_linux.c + src/util/impl/dbus.c + src/util/impl/io_unix.c + src/util/impl/netif_apple.c + src/util/impl/networking_linux.c + src/util/impl/processing_linux.c + src/util/impl/FFPlatform_unix.c + src/util/impl/binary_linux.c ) elseif(Haiku) list(APPEND LIBFASTFETCH_SRC @@ -1202,14 +1202,14 @@ elseif(Haiku) src/detection/de/de_nosupport.c src/detection/wmtheme/wmtheme_nosupport.c src/detection/camera/camera_nosupport.c - src/util/dbus.c - src/util/io_unix.c - src/util/netif_haiku.c - src/util/networking_linux.c - src/util/processing_linux.c - src/util/FFPlatform_unix.c - src/util/binary_linux.c - src/util/haiku/version.cpp + src/util/impl/dbus.c + src/util/impl/io_unix.c + src/util/impl/netif_haiku.c + src/util/impl/networking_linux.c + src/util/impl/processing_linux.c + src/util/impl/FFPlatform_unix.c + src/util/impl/binary_linux.c + src/util/impl/haiku/version.cpp ) elseif(GNU) list(APPEND LIBFASTFETCH_SRC @@ -1281,13 +1281,13 @@ elseif(GNU) src/detection/de/de_linux.c src/detection/wmtheme/wmtheme_linux.c src/detection/camera/camera_nosupport.c - src/util/dbus.c - src/util/io_unix.c - src/util/netif_gnu.c - src/util/networking_linux.c - src/util/processing_linux.c - src/util/FFPlatform_unix.c - src/util/binary_linux.c + src/util/impl/dbus.c + src/util/impl/io_unix.c + src/util/impl/netif_gnu.c + src/util/impl/networking_linux.c + src/util/impl/processing_linux.c + src/util/impl/FFPlatform_unix.c + src/util/impl/binary_linux.c ) endif() @@ -1308,7 +1308,7 @@ endif() include(CheckFunctionExists) check_function_exists(wcwidth HAVE_WCWIDTH) if(NOT HAVE_WCWIDTH) - list(APPEND LIBFASTFETCH_SRC src/util/wcwidth.c) + list(APPEND LIBFASTFETCH_SRC src/util/impl/wcwidth.c) endif() if(NOT WIN32) check_function_exists(pipe2 HAVE_PIPE2) @@ -1881,7 +1881,7 @@ set_target_properties(fastfetch PROPERTIES LINKER_LANGUAGE C) if(WIN32) target_sources(fastfetch - PRIVATE src/util/windows/version.rc + PRIVATE src/util/impl/windows/version.rc ) elseif(APPLE) target_link_options(fastfetch @@ -1909,7 +1909,7 @@ if (BUILD_FLASHFETCH) if(WIN32) target_sources(flashfetch - PRIVATE src/util/windows/version.rc + PRIVATE src/util/impl/windows/version.rc ) elseif(APPLE) target_link_options(flashfetch diff --git a/src/util/debug.h b/src/util/debug.h index 60cd14d68..2b0047e5f 100644 --- a/src/util/debug.h +++ b/src/util/debug.h @@ -28,4 +28,6 @@ static inline const char* ffFindFileName(const char* file) #define FF_DEBUG(format, ...) FF_DEBUG_PRINT(__FILE__, __LINE__, format, ##__VA_ARGS__) +#if _WIN32 const char* ffDebugWin32Error(unsigned long errorCode); +#endif diff --git a/src/util/FFPlatform.c b/src/util/impl/FFPlatform.c similarity index 100% rename from src/util/FFPlatform.c rename to src/util/impl/FFPlatform.c diff --git a/src/util/FFPlatform_private.h b/src/util/impl/FFPlatform_private.h similarity index 88% rename from src/util/FFPlatform_private.h rename to src/util/impl/FFPlatform_private.h index bb0247e6a..8c6842f8b 100644 --- a/src/util/FFPlatform_private.h +++ b/src/util/impl/FFPlatform_private.h @@ -1,6 +1,6 @@ #pragma once -#include "FFPlatform.h" +#include "util/FFPlatform.h" void ffPlatformInitImpl(FFPlatform* platform); diff --git a/src/util/FFPlatform_unix.c b/src/util/impl/FFPlatform_unix.c similarity index 100% rename from src/util/FFPlatform_unix.c rename to src/util/impl/FFPlatform_unix.c diff --git a/src/util/FFPlatform_windows.c b/src/util/impl/FFPlatform_windows.c similarity index 100% rename from src/util/FFPlatform_windows.c rename to src/util/impl/FFPlatform_windows.c diff --git a/src/util/FFlist.c b/src/util/impl/FFlist.c similarity index 97% rename from src/util/FFlist.c rename to src/util/impl/FFlist.c index c1af330d5..b03e3fca5 100644 --- a/src/util/FFlist.c +++ b/src/util/impl/FFlist.c @@ -1,4 +1,4 @@ -#include "FFlist.h" +#include "util/FFlist.h" #include #include diff --git a/src/util/FFstrbuf.c b/src/util/impl/FFstrbuf.c similarity index 99% rename from src/util/FFstrbuf.c rename to src/util/impl/FFstrbuf.c index aae3f1710..b2941afe9 100644 --- a/src/util/FFstrbuf.c +++ b/src/util/impl/FFstrbuf.c @@ -1,4 +1,4 @@ -#include "FFstrbuf.h" +#include "util/FFstrbuf.h" #include "util/mallocHelper.h" #include diff --git a/src/util/base64.c b/src/util/impl/base64.c similarity index 99% rename from src/util/base64.c rename to src/util/impl/base64.c index f59438e83..7c424684d 100644 --- a/src/util/base64.c +++ b/src/util/impl/base64.c @@ -1,4 +1,4 @@ -#include "base64.h" +#include "util/base64.h" // https://github.com/kostya/benchmarks/blob/master/base64/test-nolib.c#L145 void ffBase64EncodeRaw(uint32_t size, const char *str, uint32_t *out_size, char *output) diff --git a/src/util/binary_apple.c b/src/util/impl/binary_apple.c similarity index 99% rename from src/util/binary_apple.c rename to src/util/impl/binary_apple.c index 0fca0c2b4..fdbeb77bd 100644 --- a/src/util/binary_apple.c +++ b/src/util/impl/binary_apple.c @@ -1,4 +1,4 @@ -#include "binary.h" +#include "util/binary.h" #include "util/io.h" #include "util/stringUtils.h" #include "util/mallocHelper.h" diff --git a/src/util/binary_linux.c b/src/util/impl/binary_linux.c similarity index 99% rename from src/util/binary_linux.c rename to src/util/impl/binary_linux.c index a39f4b54a..c418a93d3 100644 --- a/src/util/binary_linux.c +++ b/src/util/impl/binary_linux.c @@ -1,4 +1,4 @@ -#include "binary.h" +#include "util/binary.h" #if defined(FF_HAVE_ELF) || defined(__sun) || (defined(__FreeBSD__) && !defined(__DragonFly__)) || defined(__OpenBSD__) || defined(__NetBSD__) diff --git a/src/util/binary_windows.c b/src/util/impl/binary_windows.c similarity index 98% rename from src/util/binary_windows.c rename to src/util/impl/binary_windows.c index 358f10f97..feeead17e 100644 --- a/src/util/binary_windows.c +++ b/src/util/impl/binary_windows.c @@ -1,4 +1,4 @@ -#include "binary.h" +#include "util/binary.h" #include "util/io.h" #include "util/stringUtils.h" #include "util/mallocHelper.h" diff --git a/src/util/commandoption.c b/src/util/impl/commandoption.c similarity index 99% rename from src/util/commandoption.c rename to src/util/impl/commandoption.c index 948edf1c2..d6c9301b4 100644 --- a/src/util/commandoption.c +++ b/src/util/impl/commandoption.c @@ -1,4 +1,4 @@ -#include "commandoption.h" +#include "util/commandoption.h" #include "util/color.h" #include "util/printing.h" #include "util/time.h" diff --git a/src/util/dbus.c b/src/util/impl/dbus.c similarity index 99% rename from src/util/dbus.c rename to src/util/impl/dbus.c index 97b2e08a4..1455f3735 100644 --- a/src/util/dbus.c +++ b/src/util/impl/dbus.c @@ -1,4 +1,4 @@ -#include "dbus.h" +#include "util/dbus.h" #ifdef FF_HAVE_DBUS diff --git a/src/util/debug_windows.c b/src/util/impl/debug_windows.c similarity index 96% rename from src/util/debug_windows.c rename to src/util/impl/debug_windows.c index e6bf3f786..b1a1fbc40 100644 --- a/src/util/debug_windows.c +++ b/src/util/impl/debug_windows.c @@ -1,4 +1,4 @@ -#include "debug.h" +#include "util/debug.h" #include diff --git a/src/util/duration.c b/src/util/impl/duration.c similarity index 98% rename from src/util/duration.c rename to src/util/impl/duration.c index c9dd6fbd8..1449bf13d 100644 --- a/src/util/duration.c +++ b/src/util/impl/duration.c @@ -1,4 +1,4 @@ -#include "duration.h" +#include "util/duration.h" void ffDurationAppendNum(uint64_t totalSeconds, FFstrbuf* result) { diff --git a/src/util/edidHelper.c b/src/util/impl/edidHelper.c similarity index 99% rename from src/util/edidHelper.c rename to src/util/impl/edidHelper.c index d05c87361..2bb8cad36 100644 --- a/src/util/edidHelper.c +++ b/src/util/impl/edidHelper.c @@ -1,4 +1,4 @@ -#include "edidHelper.h" +#include "util/edidHelper.h" void ffEdidGetPhysicalResolution(const uint8_t edid[128], uint32_t* width, uint32_t* height) { diff --git a/src/util/font.c b/src/util/impl/font.c similarity index 100% rename from src/util/font.c rename to src/util/impl/font.c diff --git a/src/util/format.c b/src/util/impl/format.c similarity index 100% rename from src/util/format.c rename to src/util/impl/format.c diff --git a/src/util/frequency.c b/src/util/impl/frequency.c similarity index 95% rename from src/util/frequency.c rename to src/util/impl/frequency.c index ae1318969..41bbf7246 100644 --- a/src/util/frequency.c +++ b/src/util/impl/frequency.c @@ -1,4 +1,4 @@ -#include "frequency.h" +#include "util/frequency.h" bool ffFreqAppendNum(uint32_t mhz, FFstrbuf* result) { diff --git a/src/util/init.c b/src/util/impl/init.c similarity index 100% rename from src/util/init.c rename to src/util/impl/init.c diff --git a/src/util/io_unix.c b/src/util/impl/io_unix.c similarity index 99% rename from src/util/io_unix.c rename to src/util/impl/io_unix.c index 3b6a9b27e..8d59ba698 100644 --- a/src/util/io_unix.c +++ b/src/util/impl/io_unix.c @@ -1,4 +1,4 @@ -#include "io.h" +#include "util/io.h" #include "fastfetch.h" #include "util/stringUtils.h" #include "util/time.h" diff --git a/src/util/io_windows.c b/src/util/impl/io_windows.c similarity index 99% rename from src/util/io_windows.c rename to src/util/impl/io_windows.c index 33f9c1941..e894d4808 100644 --- a/src/util/io_windows.c +++ b/src/util/impl/io_windows.c @@ -1,4 +1,4 @@ -#include "io.h" +#include "util/io.h" #include "fastfetch.h" #include "util/stringUtils.h" diff --git a/src/util/jsonconfig.c b/src/util/impl/jsonconfig.c similarity index 100% rename from src/util/jsonconfig.c rename to src/util/impl/jsonconfig.c diff --git a/src/util/kmod.c b/src/util/impl/kmod.c similarity index 99% rename from src/util/kmod.c rename to src/util/impl/kmod.c index 1a64ceaa7..46d0b6353 100644 --- a/src/util/kmod.c +++ b/src/util/impl/kmod.c @@ -1,4 +1,4 @@ -#include "kmod.h" +#include "util/kmod.h" #if __linux__ #include "util/io.h" diff --git a/src/util/library.c b/src/util/impl/library.c similarity index 100% rename from src/util/library.c rename to src/util/impl/library.c diff --git a/src/util/netif.c b/src/util/impl/netif.c similarity index 96% rename from src/util/netif.c rename to src/util/impl/netif.c index 52792a9f9..466e990f9 100644 --- a/src/util/netif.c +++ b/src/util/impl/netif.c @@ -1,4 +1,4 @@ -#include "netif.h" +#include "util/netif.h" #ifndef _WIN32 #include diff --git a/src/util/netif_apple.c b/src/util/impl/netif_apple.c similarity index 99% rename from src/util/netif_apple.c rename to src/util/impl/netif_apple.c index 3e962a0da..1ce541317 100644 --- a/src/util/netif_apple.c +++ b/src/util/impl/netif_apple.c @@ -1,5 +1,4 @@ -#include "netif.h" - +#include "util/netif.h" #include "util/io.h" #include "util/mallocHelper.h" diff --git a/src/util/netif_bsd.c b/src/util/impl/netif_bsd.c similarity index 99% rename from src/util/netif_bsd.c rename to src/util/impl/netif_bsd.c index da4a74934..bd85c5ea6 100644 --- a/src/util/netif_bsd.c +++ b/src/util/impl/netif_bsd.c @@ -1,5 +1,4 @@ -#include "netif.h" - +#include "util/netif.h" #include "util/io.h" #include "util/mallocHelper.h" diff --git a/src/util/netif_gnu.c b/src/util/impl/netif_gnu.c similarity index 97% rename from src/util/netif_gnu.c rename to src/util/impl/netif_gnu.c index 40dd162be..9cc6acb21 100644 --- a/src/util/netif_gnu.c +++ b/src/util/impl/netif_gnu.c @@ -1,4 +1,4 @@ -#include "netif.h" +#include "util/netif.h" #include "util/io.h" #include diff --git a/src/util/netif_haiku.c b/src/util/impl/netif_haiku.c similarity index 99% rename from src/util/netif_haiku.c rename to src/util/impl/netif_haiku.c index 46f169dcf..3e39290e0 100644 --- a/src/util/netif_haiku.c +++ b/src/util/impl/netif_haiku.c @@ -1,4 +1,4 @@ -#include "netif.h" +#include "util/netif.h" #include "util/io.h" #include "util/mallocHelper.h" diff --git a/src/util/netif_linux.c b/src/util/impl/netif_linux.c similarity index 99% rename from src/util/netif_linux.c rename to src/util/impl/netif_linux.c index 50ce084df..493fd4e11 100644 --- a/src/util/netif_linux.c +++ b/src/util/impl/netif_linux.c @@ -1,4 +1,4 @@ -#include "netif.h" +#include "util/netif.h" #include "util/io.h" #include "util/mallocHelper.h" #include "util/debug.h" diff --git a/src/util/netif_windows.c b/src/util/impl/netif_windows.c similarity index 99% rename from src/util/netif_windows.c rename to src/util/impl/netif_windows.c index 4fa7144b3..0eeba1ce3 100644 --- a/src/util/netif_windows.c +++ b/src/util/impl/netif_windows.c @@ -1,4 +1,4 @@ -#include "netif.h" +#include "util/netif.h" #include "util/mallocHelper.h" #include // AF_INET6, IN6_IS_ADDR_UNSPECIFIED diff --git a/src/util/networking_common.c b/src/util/impl/networking_common.c similarity index 100% rename from src/util/networking_common.c rename to src/util/impl/networking_common.c diff --git a/src/util/networking_linux.c b/src/util/impl/networking_linux.c similarity index 100% rename from src/util/networking_linux.c rename to src/util/impl/networking_linux.c diff --git a/src/util/networking_windows.c b/src/util/impl/networking_windows.c similarity index 100% rename from src/util/networking_windows.c rename to src/util/impl/networking_windows.c diff --git a/src/util/option.c b/src/util/impl/option.c similarity index 100% rename from src/util/option.c rename to src/util/impl/option.c diff --git a/src/util/parsing.c b/src/util/impl/parsing.c similarity index 100% rename from src/util/parsing.c rename to src/util/impl/parsing.c diff --git a/src/util/path.c b/src/util/impl/path.c similarity index 98% rename from src/util/path.c rename to src/util/impl/path.c index d9c9dadf7..7d2aa032c 100644 --- a/src/util/path.c +++ b/src/util/impl/path.c @@ -1,5 +1,4 @@ -#include "path.h" - +#include "util/path.h" #include "util/io.h" #include "util/stringUtils.h" diff --git a/src/util/percent.c b/src/util/impl/percent.c similarity index 100% rename from src/util/percent.c rename to src/util/impl/percent.c diff --git a/src/util/printing.c b/src/util/impl/printing.c similarity index 100% rename from src/util/printing.c rename to src/util/impl/printing.c diff --git a/src/util/processing_linux.c b/src/util/impl/processing_linux.c similarity index 100% rename from src/util/processing_linux.c rename to src/util/impl/processing_linux.c diff --git a/src/util/processing_windows.c b/src/util/impl/processing_windows.c similarity index 100% rename from src/util/processing_windows.c rename to src/util/impl/processing_windows.c diff --git a/src/util/properties.c b/src/util/impl/properties.c similarity index 100% rename from src/util/properties.c rename to src/util/impl/properties.c diff --git a/src/util/settings.c b/src/util/impl/settings.c similarity index 100% rename from src/util/settings.c rename to src/util/impl/settings.c diff --git a/src/util/size.c b/src/util/impl/size.c similarity index 98% rename from src/util/size.c rename to src/util/impl/size.c index 07ce86da5..6e29ad535 100644 --- a/src/util/size.c +++ b/src/util/impl/size.c @@ -1,4 +1,4 @@ -#include "size.h" +#include "util/size.h" #include diff --git a/src/util/smbiosHelper.c b/src/util/impl/smbiosHelper.c similarity index 99% rename from src/util/smbiosHelper.c rename to src/util/impl/smbiosHelper.c index 6a2585b2c..19c02e658 100644 --- a/src/util/smbiosHelper.c +++ b/src/util/impl/smbiosHelper.c @@ -1,4 +1,4 @@ -#include "smbiosHelper.h" +#include "util/smbiosHelper.h" #include "util/io.h" #include "util/unused.h" #include "util/mallocHelper.h" diff --git a/src/util/sysctl.c b/src/util/impl/sysctl.c similarity index 99% rename from src/util/sysctl.c rename to src/util/impl/sysctl.c index 42a5875a6..6683c5c9a 100644 --- a/src/util/sysctl.c +++ b/src/util/impl/sysctl.c @@ -1,4 +1,4 @@ -#include "sysctl.h" +#include "util/sysctl.h" #include diff --git a/src/util/temps.c b/src/util/impl/temps.c similarity index 100% rename from src/util/temps.c rename to src/util/impl/temps.c diff --git a/src/util/impl/time.c b/src/util/impl/time.c new file mode 100644 index 000000000..e596f729f --- /dev/null +++ b/src/util/impl/time.c @@ -0,0 +1,83 @@ +#include "util/time.h" + +#include + +char ffTimeInternalBuffer[64]; // Reduce memory usage and prevent redundant allocations + +#ifdef _WIN32 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wformat" +#endif + +const char* ffTimeToFullStr(uint64_t msec) +{ + if (msec == 0) return ""; + time_t tsec = (time_t) (msec / 1000); + const struct tm* tm = localtime(&tsec); + + uint32_t len = 0; + len += (uint32_t) strftime(ffTimeInternalBuffer, ARRAY_SIZE(ffTimeInternalBuffer) - len, "%FT%T", tm); + len += (uint32_t) snprintf(ffTimeInternalBuffer + len, ARRAY_SIZE(ffTimeInternalBuffer) - len, ".%03u", (unsigned) (msec % 1000)); + len += (uint32_t) strftime(ffTimeInternalBuffer + len, ARRAY_SIZE(ffTimeInternalBuffer) - len, "%z", tm); + return ffTimeInternalBuffer; +} + +const char* ffTimeToShortStr(uint64_t msec) +{ + if (msec == 0) return ""; + time_t tsec = (time_t) (msec / 1000); + + strftime(ffTimeInternalBuffer, ARRAY_SIZE(ffTimeInternalBuffer), "%F %T", localtime(&tsec)); + return ffTimeInternalBuffer; +} + +const char* ffTimeToTimeStr(uint64_t msec) +{ + if (msec == 0) return ""; + time_t tsec = (time_t) (msec / 1000); + + uint32_t len = (uint32_t) strftime(ffTimeInternalBuffer, ARRAY_SIZE(ffTimeInternalBuffer), "%T", localtime(&tsec)); + sprintf(ffTimeInternalBuffer + len, ".%03u", (unsigned) (msec % 1000)); + return ffTimeInternalBuffer; +} + +#ifdef _WIN32 + #pragma GCC diagnostic pop +#endif + +FFTimeGetAgeResult ffTimeGetAge(uint64_t birthMs, uint64_t nowMs) +{ + FFTimeGetAgeResult result = {}; + if (__builtin_expect(birthMs == 0 || nowMs < birthMs, 0)) + return result; + + time_t birth_s = (time_t) (birthMs / 1000); + struct tm birth_tm; + #ifdef _WIN32 + localtime_s(&birth_tm, &birth_s); + #else + localtime_r(&birth_s, &birth_tm); + #endif + + time_t now_s = (time_t) (nowMs / 1000); + struct tm now_tm; + #ifdef _WIN32 + localtime_s(&now_tm, &now_s); + #else + localtime_r(&now_s, &now_tm); + #endif + + result.years = (uint32_t) (now_tm.tm_year - birth_tm.tm_year); + if (now_tm.tm_yday < birth_tm.tm_yday) + result.years--; + + birth_tm.tm_year += (int) result.years; + birth_s = mktime(&birth_tm); + uint32_t diff_s = (uint32_t) (now_s - birth_s); + result.daysOfYear = diff_s / (24 * 60 * 60); + + birth_tm.tm_year += 1; + result.yearsFraction = (double) diff_s / (double) (mktime(&birth_tm) - birth_s) + result.years; + + return result; +} diff --git a/src/util/wcwidth.c b/src/util/impl/wcwidth.c similarity index 100% rename from src/util/wcwidth.c rename to src/util/impl/wcwidth.c diff --git a/src/util/time.c b/src/util/time.c deleted file mode 100644 index 84eab78be..000000000 --- a/src/util/time.c +++ /dev/null @@ -1,3 +0,0 @@ -#include - -char ffTimeInternalBuffer[64]; // Reduce memory usage and prevent redundant allocations diff --git a/src/util/time.h b/src/util/time.h index 7390f1819..adc3e5f92 100644 --- a/src/util/time.h +++ b/src/util/time.h @@ -2,7 +2,6 @@ #include #include -#include #ifdef _WIN32 #include #include @@ -54,52 +53,14 @@ static inline void ffTimeSleep(uint32_t msec) #endif } -#ifdef _WIN32 - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wformat" -#endif +// Not thread-safe +const char* ffTimeToFullStr(uint64_t msec); // Not thread-safe -static inline const char* ffTimeToFullStr(uint64_t msec) -{ - if (msec == 0) return ""; - time_t tsec = (time_t) (msec / 1000); - const struct tm* tm = localtime(&tsec); - - extern char ffTimeInternalBuffer[64]; - uint32_t len = 0; - len += (uint32_t) strftime(ffTimeInternalBuffer, ARRAY_SIZE(ffTimeInternalBuffer) - len, "%FT%T", tm); - len += (uint32_t) snprintf(ffTimeInternalBuffer + len, ARRAY_SIZE(ffTimeInternalBuffer) - len, ".%03u", (unsigned) (msec % 1000)); - len += (uint32_t) strftime(ffTimeInternalBuffer + len, ARRAY_SIZE(ffTimeInternalBuffer) - len, "%z", tm); - return ffTimeInternalBuffer; -} +const char* ffTimeToShortStr(uint64_t msec); // Not thread-safe -static inline const char* ffTimeToShortStr(uint64_t msec) -{ - if (msec == 0) return ""; - time_t tsec = (time_t) (msec / 1000); - - extern char ffTimeInternalBuffer[64]; - strftime(ffTimeInternalBuffer, ARRAY_SIZE(ffTimeInternalBuffer), "%F %T", localtime(&tsec)); - return ffTimeInternalBuffer; -} - -// Not thread-safe -static inline const char* ffTimeToTimeStr(uint64_t msec) -{ - if (msec == 0) return ""; - time_t tsec = (time_t) (msec / 1000); - - extern char ffTimeInternalBuffer[64]; - uint32_t len = (uint32_t) strftime(ffTimeInternalBuffer, ARRAY_SIZE(ffTimeInternalBuffer), "%T", localtime(&tsec)); - sprintf(ffTimeInternalBuffer + len, ".%03u", (unsigned) (msec % 1000)); - return ffTimeInternalBuffer; -} - -#ifdef _WIN32 - #pragma GCC diagnostic pop -#endif +const char* ffTimeToTimeStr(uint64_t msec); typedef struct FFTimeGetAgeResult { @@ -108,39 +69,4 @@ typedef struct FFTimeGetAgeResult double yearsFraction; } FFTimeGetAgeResult; -static inline FFTimeGetAgeResult ffTimeGetAge(uint64_t birthMs, uint64_t nowMs) -{ - FFTimeGetAgeResult result = {}; - if (__builtin_expect(birthMs == 0 || nowMs < birthMs, 0)) - return result; - - time_t birth_s = (time_t) (birthMs / 1000); - struct tm birth_tm; - #ifdef _WIN32 - localtime_s(&birth_tm, &birth_s); - #else - localtime_r(&birth_s, &birth_tm); - #endif - - time_t now_s = (time_t) (nowMs / 1000); - struct tm now_tm; - #ifdef _WIN32 - localtime_s(&now_tm, &now_s); - #else - localtime_r(&now_s, &now_tm); - #endif - - result.years = (uint32_t) (now_tm.tm_year - birth_tm.tm_year); - if (now_tm.tm_yday < birth_tm.tm_yday) - result.years--; - - birth_tm.tm_year += (int) result.years; - birth_s = mktime(&birth_tm); - uint32_t diff_s = (uint32_t) (now_s - birth_s); - result.daysOfYear = diff_s / (24 * 60 * 60); - - birth_tm.tm_year += 1; - result.yearsFraction = (double) diff_s / (double) (mktime(&birth_tm) - birth_s) + result.years; - - return result; -} +FFTimeGetAgeResult ffTimeGetAge(uint64_t birthMs, uint64_t nowMs);