From 5eca00f7b8db381ce2584736e3589bec47e1d46f Mon Sep 17 00:00:00 2001 From: james Date: Sun, 7 Aug 2011 11:33:43 +0000 Subject: add support for repairing half a table --- src/fixup.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/fixup.c (limited to 'src/fixup.c') diff --git a/src/fixup.c b/src/fixup.c new file mode 100644 index 0000000..af7b6d6 --- /dev/null +++ b/src/fixup.c @@ -0,0 +1,38 @@ +#include "project.h" + + + +int +fixup (DISK * d) +{ + GPT_headers h; + int i; + + h = headers_get_one (d); + + + + + for (i = 0; i < h.header.n_partition_entries; ++i) + { + + + GPT_entry e = entry_read (d, &h.header, i); + + + entry_write (d, &h.header, i, &e); + + entry_write (d, &h.alt_header, i, &e); + } + + + header_redo_ent_crc (d, &h.header); + header_write (d, &h.header); + + header_redo_ent_crc (d, &h.alt_header); + header_write (d, &h.alt_header); + + + + return 0; +} -- cgit v1.2.3