Removed libicu dependency for UTF-16 partition names. Version 0.8.9
release.
diff --git a/gpt.cc b/gpt.cc
index d584397..fdffb25 100644
--- a/gpt.cc
+++ b/gpt.cc
@@ -1314,6 +1314,7 @@
    uint8_t* emptyTable;
 
    memset(blankSector, 0, sizeof(blankSector));
+   ClearGPTData();
 
    if (myDisk.OpenForWrite()) {
       if (!myDisk.Seek(mainHeader.currentLBA))
@@ -1327,8 +1328,8 @@
       tableSize = numParts * mainHeader.sizeOfPartitionEntries;
       emptyTable = new uint8_t[tableSize];
       if (emptyTable == NULL) {
-         cerr << "Could not allocate memory in GPTData::DestroyGPT()! Aborting operation!\n";
-         return(0);
+         cerr << "Could not allocate memory in GPTData::DestroyGPT()! Terminating!\n";
+         exit(1);
       } // if
       memset(emptyTable, 0, tableSize);
       if (allOK) {
@@ -1337,31 +1338,25 @@
             cerr << "Warning! GPT main partition table not overwritten! Error is " << errno << "\n";
             allOK = 0;
          } // if write failed
+      } // if 
+      if (!myDisk.Seek(secondHeader.partitionEntriesLBA))
+         allOK = 0;
+      if (allOK) {
+         sum = myDisk.Write(emptyTable, tableSize);
+         if (sum != tableSize) {
+            cerr << "Warning! GPT backup partition table not overwritten! Error is "
+                 << errno << "\n";
+            allOK = 0;
+         } // if wrong size written
       } // if
-
-      if (secondHeader.currentLBA == (diskSize - UINT64_C(1))) {
-         if (!myDisk.Seek(secondHeader.partitionEntriesLBA))
+      if (!myDisk.Seek(secondHeader.currentLBA))
+         allOK = 0;
+      if (allOK) {
+         if (myDisk.Write(blankSector, 512) != 512) { // blank it out
+            cerr << "Warning! GPT backup header not overwritten! Error is " << errno << "\n";
             allOK = 0;
-         if (allOK) {
-            sum = myDisk.Write(emptyTable, tableSize);
-            if (sum != tableSize) {
-               cerr << "Warning! GPT backup partition table not overwritten! Error is "
-                    << errno << "\n";
-               allOK = 0;
-            } // if wrong size written
          } // if
-         if (!myDisk.Seek(secondHeader.currentLBA))
-            allOK = 0;
-         if (allOK) {
-            if (myDisk.Write(blankSector, 512) != 512) { // blank it out
-               cerr << "Warning! GPT backup header not overwritten! Error is " << errno << "\n";
-               allOK = 0;
-            } // if
-         } // if
-      } else {
-         cout << "Note: The GPT second header is not at the end of the disk end; therefore,\n"
-              << "it's not being erased.\n";
-      }
+      } // if
       myDisk.DiskSync();
       myDisk.Close();
       cout << "GPT data structures destroyed! You may now partition the disk using fdisk or\n"
@@ -2444,7 +2439,7 @@
       allOK = 0;
    } // if
    if (sizeof(PartType) != 16) {
-      cerr << "PartType is " << sizeof(GUIDData) << " bytes, should be 16 bytes; aborting!\n";
+      cerr << "PartType is " << sizeof(PartType) << " bytes, should be 16 bytes; aborting!\n";
       allOK = 0;
    } // if
    return (allOK);