brewery
notashelf /
1f9050b69ec8435d340c92ea91db9a17d1bb7e2e

chroma

public

Lightweight wallpaper daemon for Wayland

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/chroma.git

Commit 1f9050b69ec8

tarball

amr <amr@frzn.dev> · 2025-11-02 08:31 UTC

1 files changed+7-1
fix: this solves the warning during compilation

This not only solves the warning/error brought up during compilation, it's also just a sort of belt'n'braces approach to make absolutely sure the timestamp length is correct and didn't get truncated or some other error. This was a new warning/error introduced back in gcc 7.1, and it's one of those "you *should* do it this way because it's technically the correct way" things that most developers roll their eyes at but, logically, they're technically correct.
diff --git a/src/core.c b/src/core.cindex 63d904d..909caa1 100644--- a/src/core.c+++ b/src/core.c@@ -364,17 +364,23 @@ void chroma_log(const char *level, const char *format, ...) {    va_list args;   char timestamp[32];+  int truncation_check = 0;   struct timeval tv;   struct tm *tm_info;    gettimeofday(&tv, NULL);   tm_info = localtime(&tv.tv_sec); -  snprintf(timestamp, sizeof(timestamp), "%04d-%02d-%02d %02d:%02d:%02d.%03d",+  truncation_check = snprintf(timestamp, sizeof(timestamp), "%04d-%02d-%02d %02d:%02d:%02d.%03d",            tm_info->tm_year + 1900, tm_info->tm_mon + 1, tm_info->tm_mday,            tm_info->tm_hour, tm_info->tm_min, tm_info->tm_sec,            (int)(tv.tv_usec / 1000)); +  if(truncation_check > 32 || truncation_check < 0) {+    // Something went seriously wrong with the snprintf, this is a fairly serious error as+    // the timestamp may be incomplete or corrupted, so print a warning+    printf("Following timestamp may be incomplete, truncated or corrupted!\n");+  }   printf("[%s] %s: ", timestamp, level);    va_start(args, format);