Line data Source code
1 : #include "precizer.h"
2 :
3 : /**
4 : * @brief Prints metadata details based on the specified flag.
5 : *
6 : * This function outputs metadata such as file size or timestamps (creation and modification times)
7 : * in a human-readable format. It is used to display changes between two sets of file metadata.
8 : *
9 : * @param level Logger level to use (e.g., ERROR for error paths, EVERY for regular output)
10 : * @param[in] flag Identifier for the type of metadata to print.
11 : */
12 142 : void show_metadata(
13 : LOGMODES level,
14 : Changed flag,
15 : const CmpctStat *was,
16 : const CmpctStat *now)
17 : {
18 142 : const char log_level = (char)(level | UNDECOR);
19 :
20 142 : switch(flag)
21 : {
22 10 : case SIZE_CHANGED:
23 10 : slog(log_level," was:%s",bkbmbgbtbpbeb((size_t)was->st_size));
24 10 : slog(log_level,", now:%s",bkbmbgbtbpbeb((size_t)now->st_size));
25 10 : break;
26 66 : case STATUS_CHANGED_TIME:
27 66 : slog(log_level," was:%s.%ld",seconds_to_ISOdate(was->ctim_tv_sec),was->ctim_tv_nsec);
28 66 : slog(log_level,", now:%s.%ld",seconds_to_ISOdate(now->ctim_tv_sec),now->ctim_tv_nsec);
29 66 : break;
30 66 : case MODIFICATION_TIME_CHANGED:
31 66 : slog(log_level," was:%s.%ld",seconds_to_ISOdate(was->mtim_tv_sec),was->mtim_tv_nsec);
32 66 : slog(log_level,", now:%s.%ld",seconds_to_ISOdate(now->mtim_tv_sec),now->mtim_tv_nsec);
33 66 : break;
34 0 : default:
35 0 : return;
36 : break;
37 : }
38 : }
|