| 931 | } |
| 932 | |
| 933 | void BackupManager::setDifference(thread_db* tdbb, const char* filename) |
| 934 | { |
| 935 | SET_TDBB(tdbb); |
| 936 | |
| 937 | if (filename) |
| 938 | { |
| 939 | WIN window(HEADER_PAGE_NUMBER); |
| 940 | Ods::header_page* header = |
| 941 | (Ods::header_page*) CCH_FETCH(tdbb, &window, LCK_write, pag_header); |
| 942 | CCH_MARK_MUST_WRITE(tdbb, &window); |
| 943 | PAG_replace_entry_first(tdbb, header, Ods::HDR_difference_file, |
| 944 | static_cast<USHORT>(strlen(filename)), reinterpret_cast<const UCHAR*>(filename)); |
| 945 | CCH_RELEASE(tdbb, &window); |
| 946 | diff_name = filename; |
| 947 | explicit_diff_name = true; |
| 948 | } |
| 949 | else |
| 950 | { |
| 951 | PAG_delete_clump_entry(tdbb, Ods::HDR_difference_file); |
| 952 | generateFilename(); |
| 953 | } |
| 954 | } |
| 955 | |
| 956 | bool BackupManager::actualizeState(thread_db* tdbb) |
| 957 | { |
nothing calls this directly
no test coverage detected