Files
mc-old/lib/timefmt.h
Yury V. Zaytsev 8406bddbd4 formatting: step 6 - manual tweaks
* Reformat tests with magic comma
* Remove macro guards causing unstable formatting

```
find . -type file -name '*.[ch]' | xargs sed -i '' -E 's|# *endif.+//.+$|#endif|g'
```

Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2025-02-02 19:38:47 +01:00

60 lines
3.0 KiB
C

/** \file timefmt.h
* \brief Header: time formatting functions
*/
#ifndef MC__UTIL_TIMEFMT_H
#define MC__UTIL_TIMEFMT_H
#include <sys/time.h>
#include <sys/types.h>
/*** typedefs(not structures) and defined constants **********************************************/
#define MAX_I18NTIMELENGTH 20
#define MIN_I18NTIMELENGTH 10
#define STD_I18NTIMELENGTH 12
#define INVALID_TIME_TEXT "(invalid)"
/* safe localtime formatting - strftime()-using version */
#define FMT_LOCALTIME(buffer, bufsize, fmt, when) \
{ \
struct tm *whentm; \
whentm = localtime (&when); \
if (whentm == NULL) \
{ \
strncpy (buffer, INVALID_TIME_TEXT, bufsize); \
buffer[bufsize - 1] = 0; \
} \
else \
{ \
strftime (buffer, bufsize, fmt, whentm); \
} \
}
#define FMT_LOCALTIME_CURRENT(buffer, bufsize, fmt) \
{ \
time_t __current_time; \
time (&__current_time); \
FMT_LOCALTIME (buffer, bufsize, fmt, __current_time); \
}
/*** enums ***************************************************************************************/
/*** structures declarations (and typedefs of structures)*****************************************/
/*** global variables defined in .c file *********************************************************/
extern char *user_recent_timeformat; // time format string for recent dates
extern char *user_old_timeformat; // time format string for older dates
/*** declarations of public functions ************************************************************/
size_t i18n_checktimelength (void);
const char *file_date (time_t when);
/*** inline functions ****************************************************************************/
#endif