| 1177 | } |
| 1178 | |
| 1179 | static bool activation_path_matches(const cbm_activation_transaction_t *transaction, |
| 1180 | const char *path, const char *name, |
| 1181 | const activation_file_identity_t *expected, bool *exists_out) { |
| 1182 | activation_file_identity_t actual; |
| 1183 | bool exists = false; |
| 1184 | if (!activation_entry_snapshot(transaction, path, name, &exists, &actual)) { |
| 1185 | return false; |
| 1186 | } |
| 1187 | *exists_out = exists; |
| 1188 | return !exists || activation_identity_equal(&actual, expected); |
| 1189 | } |
| 1190 | |
| 1191 | static bool activation_sync_directory(const cbm_activation_transaction_t *transaction) { |
| 1192 | #ifdef _WIN32 |
no test coverage detected