Merge pull request #2079 from cesanta/time

Fix #2075. Add MG_HTTP_DIRLIST_TIME_FMT, remove MG_HTTP_DIRLIST_TIME and MG_HTTP_DIRLIST_TIME_UTC
This commit is contained in:
Sergio R. Caprile authored and GitHub committed 2023-02-20 20:13:56 -03:00
commit 1a8a559d84
3 files changed
+8 -22

No files matched your search

+2 -2
View File
@@ -5,8 +5,8 @@ SOURCES = main.c mongoose.c # Source code files
CFLAGS = -W -Wall -Wextra -g -I. # Build options CFLAGS = -W -Wall -Wextra -g -I. # Build options
# Mongoose build options. See https://mongoose.ws/documentation/#build-options # Mongoose build options. See https://mongoose.ws/documentation/#build-options
CFLAGS_MONGOOSE += -DMG_HTTP_DIRLIST_TIME=1 -DMG_ENABLE_SSI=1 CFLAGS_MONGOOSE += -DMG_HTTP_DIRLIST_TIME_FMT="%Y/%m/%d %H:%M:%S"
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 -DMG_ENABLE_IPV6=1 CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 -DMG_ENABLE_IPV6=1 -DMG_ENABLE_SSI=1
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
PROG ?= example.exe # Use .exe suffix for the binary PROG ?= example.exe # Use .exe suffix for the binary
+3 -10
View File
@@ -1861,22 +1861,15 @@ static void printdirentry(const char *name, void *userdata) {
} else { } else {
mg_snprintf(sz, sizeof(sz), "%lld", (uint64_t) size); mg_snprintf(sz, sizeof(sz), "%lld", (uint64_t) size);
} }
#if defined(MG_HTTP_DIRLIST_TIME) #if defined(MG_HTTP_DIRLIST_TIME_FMT)
{ {
char time_str[30]; char time_str[40];
struct tm *time_info = localtime(&t); struct tm *time_info = localtime(&t);
strftime(time_str, sizeof time_str, "%Y/%m/%d %H:%M:%S", time_info); strftime(time_str, sizeof time_str, "%Y/%m/%d %H:%M:%S", time_info);
mg_snprintf(mod, sizeof(mod), "%s", time_str); mg_snprintf(mod, sizeof(mod), "%s", time_str);
} }
#elif defined(MG_HTTP_DIRLIST_TIME_UTC)
{
char time_str[30];
struct tm *time_info = gmtime(&t);
strftime(time_str, sizeof time_str, "%Y/%m/%d %H:%M:%S", time_info);
mg_snprintf(mod, sizeof(mod), "%s", time_str);
}
#else #else
mg_snprintf(mod, sizeof(mod), "%ld", (unsigned long) t); mg_snprintf(mod, sizeof(mod), "%lu", (unsigned long) t);
#endif #endif
n = (int) mg_url_encode(name, strlen(name), path, sizeof(path)); n = (int) mg_url_encode(name, strlen(name), path, sizeof(path));
mg_printf(d->c, mg_printf(d->c,
+3 -10
View File
@@ -562,22 +562,15 @@ static void printdirentry(const char *name, void *userdata) {
} else { } else {
mg_snprintf(sz, sizeof(sz), "%lld", (uint64_t) size); mg_snprintf(sz, sizeof(sz), "%lld", (uint64_t) size);
} }
#if defined(MG_HTTP_DIRLIST_TIME) #if defined(MG_HTTP_DIRLIST_TIME_FMT)
{ {
char time_str[30]; char time_str[40];
struct tm *time_info = localtime(&t); struct tm *time_info = localtime(&t);
strftime(time_str, sizeof time_str, "%Y/%m/%d %H:%M:%S", time_info); strftime(time_str, sizeof time_str, "%Y/%m/%d %H:%M:%S", time_info);
mg_snprintf(mod, sizeof(mod), "%s", time_str); mg_snprintf(mod, sizeof(mod), "%s", time_str);
} }
#elif defined(MG_HTTP_DIRLIST_TIME_UTC)
{
char time_str[30];
struct tm *time_info = gmtime(&t);
strftime(time_str, sizeof time_str, "%Y/%m/%d %H:%M:%S", time_info);
mg_snprintf(mod, sizeof(mod), "%s", time_str);
}
#else #else
mg_snprintf(mod, sizeof(mod), "%ld", (unsigned long) t); mg_snprintf(mod, sizeof(mod), "%lu", (unsigned long) t);
#endif #endif
n = (int) mg_url_encode(name, strlen(name), path, sizeof(path)); n = (int) mg_url_encode(name, strlen(name), path, sizeof(path));
mg_printf(d->c, mg_printf(d->c,