| 263 | } |
| 264 | |
| 265 | static int text_snapshot_equal(const text_file_snapshot_t *left, |
| 266 | const text_file_snapshot_t *right) { |
| 267 | if (left->exists != right->exists) { |
| 268 | return 0; |
| 269 | } |
| 270 | if (!left->exists) { |
| 271 | return 1; |
| 272 | } |
| 273 | #ifdef _WIN32 |
| 274 | return left->volume_serial == right->volume_serial && |
| 275 | left->file_index_high == right->file_index_high && |
| 276 | left->file_index_low == right->file_index_low && left->attributes == right->attributes && |
| 277 | left->link_count == right->link_count && |
| 278 | left->creation_time.dwLowDateTime == right->creation_time.dwLowDateTime && |
| 279 | left->creation_time.dwHighDateTime == right->creation_time.dwHighDateTime && |
| 280 | left->write_time.dwLowDateTime == right->write_time.dwLowDateTime && |
| 281 | left->write_time.dwHighDateTime == right->write_time.dwHighDateTime && |
| 282 | left->size == right->size; |
| 283 | #else |
| 284 | return left->device == right->device && left->inode == right->inode && |
| 285 | left->mode == right->mode && left->link_count == right->link_count && |
| 286 | left->owner == right->owner && left->group == right->group && |
| 287 | left->size == right->size && left->modified_sec == right->modified_sec && |
| 288 | left->modified_nsec == right->modified_nsec && left->changed_sec == right->changed_sec && |
| 289 | left->changed_nsec == right->changed_nsec; |
| 290 | #endif |
| 291 | } |
| 292 | |
| 293 | static int text_snapshot_publication_equal(const text_file_snapshot_t *trusted, |
| 294 | const text_file_snapshot_t *reopened) { |
no outgoing calls
no test coverage detected