Branch data 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 : 182 : void show_metadata(
13 : : LOGMODES level,
14 : : Changed flag,
15 : : const CmpctStat *was,
16 : : const CmpctStat *now)
17 : : {
18 : 182 : const char log_level = (char)(level | UNDECOR);
19 : :
20 [ + + + + : 182 : switch(flag)
- ]
21 : : {
22 : 18 : case SIZE_CHANGED:
23 : : {
24 : 18 : slog(log_level," was:%s",bkbmbgbtbpbeb((size_t)was->st_size,FULL_VIEW));
25 : 18 : slog(log_level,", now:%s",bkbmbgbtbpbeb((size_t)now->st_size,FULL_VIEW));
26 : : }
27 : 18 : break;
28 : 4 : case ALLOCATED_SIZE_CHANGED:
29 : : {
30 : : /* This legacy can be removed in 2036 (10-year Long-Term Support) */
31 [ - + ]: 4 : if(was->st_blocks == BLKCNT_UNKNOWN)
32 : : {
33 : 0 : break;
34 : : }
35 : 4 : slog(log_level," was:%s",bkbmbgbtbpbeb(blocks_to_bytes(was->st_blocks),FULL_VIEW));
36 : 4 : slog(log_level,", now:%s",bkbmbgbtbpbeb(blocks_to_bytes(now->st_blocks),FULL_VIEW));
37 : : }
38 : 4 : break;
39 : 80 : case STATUS_CHANGED_TIME:
40 : : {
41 : 80 : slog(log_level," was:%s.%ld",seconds_to_ISOdate(was->ctim_tv_sec),was->ctim_tv_nsec);
42 : 80 : slog(log_level,", now:%s.%ld",seconds_to_ISOdate(now->ctim_tv_sec),now->ctim_tv_nsec);
43 : : }
44 : 80 : break;
45 : 80 : case MODIFICATION_TIME_CHANGED:
46 : : {
47 : 80 : slog(log_level," was:%s.%ld",seconds_to_ISOdate(was->mtim_tv_sec),was->mtim_tv_nsec);
48 : 80 : slog(log_level,", now:%s.%ld",seconds_to_ISOdate(now->mtim_tv_sec),now->mtim_tv_nsec);
49 : : }
50 : 80 : break;
51 : 0 : default:
52 : 0 : return;
53 : : break;
54 : : }
55 : : }
|