mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-13 02:42:09 +02:00
Util: moves util/*.c to util/impl/
This commit is contained in:
+115
-115
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "FFPlatform.h"
|
||||
#include "util/FFPlatform.h"
|
||||
|
||||
void ffPlatformInitImpl(FFPlatform* platform);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "FFlist.h"
|
||||
#include "util/FFlist.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "FFstrbuf.h"
|
||||
#include "util/FFstrbuf.h"
|
||||
#include "util/mallocHelper.h"
|
||||
|
||||
#include <ctype.h>
|
||||
@@ -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)
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "binary.h"
|
||||
#include "util/binary.h"
|
||||
#include "util/io.h"
|
||||
#include "util/stringUtils.h"
|
||||
#include "util/mallocHelper.h"
|
||||
@@ -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__)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "binary.h"
|
||||
#include "util/binary.h"
|
||||
#include "util/io.h"
|
||||
#include "util/stringUtils.h"
|
||||
#include "util/mallocHelper.h"
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "commandoption.h"
|
||||
#include "util/commandoption.h"
|
||||
#include "util/color.h"
|
||||
#include "util/printing.h"
|
||||
#include "util/time.h"
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "dbus.h"
|
||||
#include "util/dbus.h"
|
||||
|
||||
#ifdef FF_HAVE_DBUS
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "debug.h"
|
||||
#include "util/debug.h"
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "duration.h"
|
||||
#include "util/duration.h"
|
||||
|
||||
void ffDurationAppendNum(uint64_t totalSeconds, FFstrbuf* result)
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "edidHelper.h"
|
||||
#include "util/edidHelper.h"
|
||||
|
||||
void ffEdidGetPhysicalResolution(const uint8_t edid[128], uint32_t* width, uint32_t* height)
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "frequency.h"
|
||||
#include "util/frequency.h"
|
||||
|
||||
bool ffFreqAppendNum(uint32_t mhz, FFstrbuf* result)
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "io.h"
|
||||
#include "util/io.h"
|
||||
#include "fastfetch.h"
|
||||
#include "util/stringUtils.h"
|
||||
#include "util/time.h"
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "io.h"
|
||||
#include "util/io.h"
|
||||
#include "fastfetch.h"
|
||||
#include "util/stringUtils.h"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "kmod.h"
|
||||
#include "util/kmod.h"
|
||||
|
||||
#if __linux__
|
||||
#include "util/io.h"
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "netif.h"
|
||||
#include "util/netif.h"
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <net/if.h>
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "netif.h"
|
||||
|
||||
#include "util/netif.h"
|
||||
#include "util/io.h"
|
||||
#include "util/mallocHelper.h"
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "netif.h"
|
||||
|
||||
#include "util/netif.h"
|
||||
#include "util/io.h"
|
||||
#include "util/mallocHelper.h"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "netif.h"
|
||||
#include "util/netif.h"
|
||||
#include "util/io.h"
|
||||
|
||||
#include <net/if.h>
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "netif.h"
|
||||
#include "util/netif.h"
|
||||
#include "util/io.h"
|
||||
#include "util/mallocHelper.h"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "netif.h"
|
||||
#include "util/netif.h"
|
||||
#include "util/io.h"
|
||||
#include "util/mallocHelper.h"
|
||||
#include "util/debug.h"
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "netif.h"
|
||||
#include "util/netif.h"
|
||||
#include "util/mallocHelper.h"
|
||||
|
||||
#include <ws2tcpip.h> // AF_INET6, IN6_IS_ADDR_UNSPECIFIED
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "path.h"
|
||||
|
||||
#include "util/path.h"
|
||||
#include "util/io.h"
|
||||
#include "util/stringUtils.h"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "size.h"
|
||||
#include "util/size.h"
|
||||
|
||||
#include <inttypes.h>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "smbiosHelper.h"
|
||||
#include "util/smbiosHelper.h"
|
||||
#include "util/io.h"
|
||||
#include "util/unused.h"
|
||||
#include "util/mallocHelper.h"
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "sysctl.h"
|
||||
#include "util/sysctl.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
#include "util/time.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
#include <time.h>
|
||||
|
||||
char ffTimeInternalBuffer[64]; // Reduce memory usage and prevent redundant allocations
|
||||
+5
-79
@@ -2,7 +2,6 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
#ifdef _WIN32
|
||||
#include <synchapi.h>
|
||||
#include <profileapi.h>
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user