diff --git a/NEWS b/NEWS index 4a9c09d12df5245554ad954c289db0d1ba50de66..290e9b69dd92fe2868711687eb1fcc8e641cbec2 100644 --- a/NEWS +++ b/NEWS @@ -1,8 +1,14 @@ -0.8.3 (?/??/2012): +0.8.3 (3/23/2012): ------------------ -- Fixed bug that caused creation of >2TiB partitions to be truncated in - sgdisk. +- Fixed compilation problem on GCC 4.7. + +- Improved handling of Ctrl+D on some systems. + +- Added disk's name to message stating that a disk write was successful. + +- Fixed bug that caused creation of >2TiB partitions on 32-bit systems to + be truncated in sgdisk. 0.8.2 (1/22/2012): ------------------ diff --git a/basicmbr.cc b/basicmbr.cc index 23fc219ae4356f5aba915c95f9cc4196fd9a0fc1..fd5f30a182221e82fdc7582da20930099880634a 100644 --- a/basicmbr.cc +++ b/basicmbr.cc @@ -1532,6 +1532,7 @@ int BasicMBRData::DoMenu(const string& prompt) { cout << prompt; switch (ReadString()[0]) { case '\0': + goOn = !cin.eof(); break; case 'a': case 'A': num = GetNumber(1, MAX_MBR_PARTS, 1, "Toggle active flag for partition: ") - 1; diff --git a/cgdisk.8 b/cgdisk.8 index 7aae559bcf5b056f4ad105c946a3c3e6966a9a58..1ec7480c6afa737060abc4e967be605644f7a69e 100644 --- a/cgdisk.8 +++ b/cgdisk.8 @@ -1,6 +1,6 @@ .\" Copyright 2011, 2012 Roderick W. Smith (rodsmith@rodsbooks.com) .\" May be distributed under the GNU General Public License -.TH "CGDISK" "8" "0.8.2" "Roderick W. Smith" "GPT fdisk Manual" +.TH "CGDISK" "8" "0.8.3" "Roderick W. Smith" "GPT fdisk Manual" .SH "NAME" cgdisk \- Curses-based GUID partition table (GPT) manipulator .SH "SYNOPSIS" @@ -268,7 +268,7 @@ Write data. Use this command to save your changes. .SH "BUGS" -As of January 2012 (version 0.8.2), \fBcgdisk\fR should be considered +As of March 2012 (version 0.8.3), \fBcgdisk\fR should be considered beta software. Although the underlying partition manipulation code is much older, the \fBcgdisk\fR ncurses user interface is brand new with GPT fdisk version 0.8.0. Known bugs and limitations include: diff --git a/current.spec b/current.spec index 5d9ed33073ba41983db556ef50c163bc143f9815..42af3fbef49f37ee17b8eee3c9aea0c33f487f17 100644 --- a/current.spec +++ b/current.spec @@ -1,11 +1,11 @@ Summary: GPT partitioning and MBR repair software Name: gptfdisk -Version: 0.8.2 +Version: 0.8.3 Release: 1%{?dist} License: GPLv2 URL: http://www.rodsbooks.com/gdisk Group: Applications/System -Source: http://www.rodsbooks.com/gdisk/gptfdisk-0.8.2.tar.gz +Source: http://www.rodsbooks.com/gdisk/gptfdisk-0.8.3.tar.gz BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %description @@ -80,5 +80,5 @@ provides a few additional partition manipulation features. %changelog -* Sun Jan 22 2012 R Smith <rodsmith@rodsbooks.com> - 0.8.2 -- Created spec file for 0.8.2 release +* Fri Mar 23 2012 R Smith <rodsmith@rodsbooks.com> - 0.8.3 +- Created spec file for 0.8.3 release diff --git a/diskio-unix.cc b/diskio-unix.cc index 3735b9fe181758cc46293de2a837461d8c29af89..0bfceef575481d299ddb9fbfe8ec06a4e8e21167 100644 --- a/diskio-unix.cc +++ b/diskio-unix.cc @@ -22,6 +22,7 @@ #include <errno.h> #include <fcntl.h> #include <sys/stat.h> +#include <unistd.h> #ifdef __linux__ #include "linux/hdreg.h" diff --git a/diskio-windows.cc b/diskio-windows.cc index af191a83d7ad11a77b9e9bb4b5d8e85e08fc8c96..3d180d48f4f2140abed8843d4722e0ddb3112b75 100644 --- a/diskio-windows.cc +++ b/diskio-windows.cc @@ -238,7 +238,7 @@ int DiskIO::Read(void* buffer, int numBytes) { cerr << "Unable to allocate memory in DiskIO::Read()! Terminating!\n"; exit(1); } // if - + // Read the data into temporary space, then copy it to buffer ReadFile(fd, tempSpace, numBlocks * blockSize, &retval, NULL); for (i = 0; i < numBytes; i++) { diff --git a/fixparts.8 b/fixparts.8 index a059b4172c5089fa867aadf5776f6a8798a8f26e..5aa53287fb91362034d07002aaf5e201a6aa43d4 100644 --- a/fixparts.8 +++ b/fixparts.8 @@ -1,6 +1,6 @@ .\" Copyright 2011, 2012 Roderick W. Smith (rodsmith@rodsbooks.com) .\" May be distributed under the GNU General Public License -.TH "FIXPARTS" "8" "0.8.2" "Roderick W. Smith" "FixParts Manual" +.TH "FIXPARTS" "8" "0.8.3" "Roderick W. Smith" "FixParts Manual" .SH "NAME" fixparts \- MBR partition table repair utility .SH "SYNOPSIS" @@ -202,7 +202,7 @@ see a summary of available options. .PP .SH "BUGS" -As of September 2012 (version 0.8.2), \fBfixparts\fR +As of March 2012 (version 0.8.3), \fBfixparts\fR should be considered beta software. Known bugs and limitations include: .TP diff --git a/gdisk.8 b/gdisk.8 index dcaa6a79c49d34c4e4d1cdf1afe1af13d2f936c3..1447af1d9bd44fef863bd865833db8a2b69123ac 100644 --- a/gdisk.8 +++ b/gdisk.8 @@ -1,6 +1,6 @@ .\" Copyright 2011, 2012 Roderick W. Smith (rodsmith@rodsbooks.com) .\" May be distributed under the GNU General Public License -.TH "GDISK" "8" "0.8.2" "Roderick W. Smith" "GPT fdisk Manual" +.TH "GDISK" "8" "0.8.3" "Roderick W. Smith" "GPT fdisk Manual" .SH "NAME" gdisk \- Interactive GUID partition table (GPT) manipulator .SH "SYNOPSIS" @@ -561,7 +561,7 @@ entering data. When only one option is possible, \fBgdisk\fR usually bypasses the prompt entirely. .SH "BUGS" -As of January 2012 (version 0.8.2), \fBgdisk\fR +As of March 2012 (version 0.8.3), \fBgdisk\fR should be considered beta software. Known bugs and limitations include: .TP diff --git a/gdisk_test.sh b/gdisk_test.sh index 216b3100d993bec17281ef53bb258d1704c090f8..e567d4c4a2378166a77dffe2480524b0e89874f0 100755 --- a/gdisk_test.sh +++ b/gdisk_test.sh @@ -338,6 +338,15 @@ EOF echo "" } +##################################### +# Test stdin EOF +##################################### +eof_stdin() { + $SGDISK_BIN $TEMP_DISK << EOF +^D +EOF + pretty_print "SUCCESS" "EOF successfully exit gdisk" +} ################################### # Main @@ -369,6 +378,7 @@ do restore_table # only with gdisk change_disk_uid "$binary" wipe_table "$binary" + eof_stdin # only with gdisk done # remove temp files diff --git a/gpt.cc b/gpt.cc index 823f32fedf190a51452ccfa6d104fe8689806515..f83d72e816f075d8ba7584aaf4afd736fe3517c1 100644 --- a/gpt.cc +++ b/gpt.cc @@ -1031,7 +1031,7 @@ int GPTData::SaveGPTData(int quiet) { << "PARTITIONS!!\n\nDo you want to proceed? "; answer = GetYN(); if (answer == 'Y') { - cout << "OK; writing new GUID partition table (GPT).\n"; + cout << "OK; writing new GUID partition table (GPT) to " << myDisk.GetName() << ".\n"; } else { allOK = 0; } // if/else diff --git a/gpttext.cc b/gpttext.cc index 433332fbf98038a62969b55d12a5c84539c2a5d2..2f3035654e1cc915dee327cf597e74d7d8c7f564 100644 --- a/gpttext.cc +++ b/gpttext.cc @@ -514,6 +514,7 @@ void GPTDataTextUI::MainMenu(string filename) { cout << "\nCommand (? for help): "; switch (ReadString()[0]) { case '\0': + goOn = !cin.eof(); break; case 'b': case 'B': cout << "Enter backup filename to save: "; @@ -609,6 +610,7 @@ void GPTDataTextUI::RecoveryMenu(string filename) { cout << "\nRecovery/transformation command (? for help): "; switch (ReadString()[0]) { case '\0': + goOn = !cin.eof(); break; case 'b': case 'B': RebuildMainHeader(); diff --git a/sgdisk.8 b/sgdisk.8 index d061921bcd7ef09ae66b9021360edb315787ee3f..ac2879f5a6ff21fdccdc0c45da8df9a06020e3bd 100644 --- a/sgdisk.8 +++ b/sgdisk.8 @@ -1,6 +1,6 @@ .\" Copyright 2011, 2012 Roderick W. Smith (rodsmith@rodsbooks.com) .\" May be distributed under the GNU General Public License -.TH "SGDISK" "8" "0.8.2" "Roderick W. Smith" "GPT fdisk Manual" +.TH "SGDISK" "8" "0.8.3" "Roderick W. Smith" "GPT fdisk Manual" .SH "NAME" sgdisk \- Command\-line GUID partition table (GPT) manipulator for Linux and Unix .SH "SYNOPSIS" @@ -485,7 +485,7 @@ An error prevented saving changes Disk replication operation (-R) failed .SH "BUGS" -As of January 2012 (version 0.8.2), \fBsgdisk\fR +As of March 2012 (version 0.8.3), \fBsgdisk\fR should be considered beta software. Known bugs and limitations include: .TP diff --git a/support.h b/support.h index 1a160577f83452dca1a2cc20adceec84b59c6062..934908c5ca409d71d15beb11cb98f25f1bd15538 100644 --- a/support.h +++ b/support.h @@ -8,7 +8,7 @@ #ifndef __GPTSUPPORT #define __GPTSUPPORT -#define GPTFDISK_VERSION "0.8.2.1" +#define GPTFDISK_VERSION "0.8.3" #if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined (__APPLE__) // Darwin (Mac OS) & FreeBSD: disk IOCTLs are different, and there is no lseek64