Fix Ctrl+D problems; 0.8.4 release
This commit is contained in:
9
NEWS
9
NEWS
@@ -1,3 +1,12 @@
|
||||
0.8.4 (3/25/2012):
|
||||
------------------
|
||||
|
||||
- REALLY fixed Ctrl+D problems! Now gdisk terminates upon receiving a
|
||||
Ctrl+D. In all previous versions, it could lock itself into a CPU-hogging
|
||||
loop if launched via "sudo" from a terminal window that was then closed
|
||||
or if Ctrl+D was pressed at certain input prompts (for a partition name
|
||||
or sector number, for instance).
|
||||
|
||||
0.8.3 (3/23/2012):
|
||||
------------------
|
||||
|
||||
|
||||
@@ -1532,7 +1532,7 @@ int BasicMBRData::DoMenu(const string& prompt) {
|
||||
cout << prompt;
|
||||
switch (ReadString()[0]) {
|
||||
case '\0':
|
||||
goOn = !cin.eof();
|
||||
goOn = cin.good();
|
||||
break;
|
||||
case 'a': case 'A':
|
||||
num = GetNumber(1, MAX_MBR_PARTS, 1, "Toggle active flag for partition: ") - 1;
|
||||
|
||||
4
cgdisk.8
4
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.3" "Roderick W. Smith" "GPT fdisk Manual"
|
||||
.TH "CGDISK" "8" "0.8.4" "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 March 2012 (version 0.8.3), \fBcgdisk\fR should be considered
|
||||
As of March 2012 (version 0.8.4), \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:
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
Summary: GPT partitioning and MBR repair software
|
||||
Name: gptfdisk
|
||||
Version: 0.8.3
|
||||
Version: 0.8.4
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2
|
||||
URL: http://www.rodsbooks.com/gdisk
|
||||
Group: Applications/System
|
||||
Source: http://www.rodsbooks.com/gdisk/gptfdisk-0.8.3.tar.gz
|
||||
Source: http://www.rodsbooks.com/gdisk/gptfdisk-0.8.4.tar.gz
|
||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||
|
||||
%description
|
||||
@@ -80,5 +80,5 @@ provides a few additional partition manipulation features.
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Mar 23 2012 R Smith <rodsmith@rodsbooks.com> - 0.8.3
|
||||
- Created spec file for 0.8.3 release
|
||||
* Sun Mar 25 2012 R Smith <rodsmith@rodsbooks.com> - 0.8.4
|
||||
- Created spec file for 0.8.4 release
|
||||
|
||||
2
diskio.h
2
diskio.h
@@ -74,6 +74,6 @@ class DiskIO {
|
||||
string GetName(void) const {return realFilename;}
|
||||
|
||||
uint64_t DiskSize(int* err);
|
||||
}; // struct GPTPart
|
||||
}; // class DiskIO
|
||||
|
||||
#endif
|
||||
|
||||
@@ -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.3" "Roderick W. Smith" "FixParts Manual"
|
||||
.TH "FIXPARTS" "8" "0.8.4" "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 March 2012 (version 0.8.3), \fBfixparts\fR
|
||||
As of March 2012 (version 0.8.4), \fBfixparts\fR
|
||||
should be considered beta software. Known bugs and limitations include:
|
||||
|
||||
.TP
|
||||
|
||||
4
gdisk.8
4
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.3" "Roderick W. Smith" "GPT fdisk Manual"
|
||||
.TH "GDISK" "8" "0.8.4" "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 March 2012 (version 0.8.3), \fBgdisk\fR
|
||||
As of March 2012 (version 0.8.4), \fBgdisk\fR
|
||||
should be considered beta software. Known bugs and limitations include:
|
||||
|
||||
.TP
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <stdint.h>
|
||||
#include <limits.h>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <cstdio>
|
||||
#include "attributes.h"
|
||||
@@ -514,7 +515,7 @@ void GPTDataTextUI::MainMenu(string filename) {
|
||||
cout << "\nCommand (? for help): ";
|
||||
switch (ReadString()[0]) {
|
||||
case '\0':
|
||||
goOn = !cin.eof();
|
||||
goOn = cin.good();
|
||||
break;
|
||||
case 'b': case 'B':
|
||||
cout << "Enter backup filename to save: ";
|
||||
@@ -610,7 +611,7 @@ void GPTDataTextUI::RecoveryMenu(string filename) {
|
||||
cout << "\nRecovery/transformation command (? for help): ";
|
||||
switch (ReadString()[0]) {
|
||||
case '\0':
|
||||
goOn = !cin.eof();
|
||||
goOn = cin.good();
|
||||
break;
|
||||
case 'b': case 'B':
|
||||
RebuildMainHeader();
|
||||
@@ -736,6 +737,7 @@ void GPTDataTextUI::ExpertsMenu(string filename) {
|
||||
cout << "\nExpert command (? for help): ";
|
||||
switch (ReadString()[0]) {
|
||||
case '\0':
|
||||
goOn = cin.good();
|
||||
break;
|
||||
case 'a': case 'A':
|
||||
if (GetPartRange(&temp1, &temp2) > 0)
|
||||
|
||||
9
sgdisk.8
9
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.3" "Roderick W. Smith" "GPT fdisk Manual"
|
||||
.TH "SGDISK" "8" "0.8.4" "Roderick W. Smith" "GPT fdisk Manual"
|
||||
.SH "NAME"
|
||||
sgdisk \- Command\-line GUID partition table (GPT) manipulator for Linux and Unix
|
||||
.SH "SYNOPSIS"
|
||||
@@ -480,12 +480,17 @@ Non\-GPT disk detected and no \fI\-g\fR option
|
||||
.B 4
|
||||
An error prevented saving changes
|
||||
|
||||
.TP
|
||||
.B 5
|
||||
An error occurred while reading standard input (should never occur with
|
||||
sgdisk, but may with gdisk)
|
||||
|
||||
.TP
|
||||
.B 8
|
||||
Disk replication operation (-R) failed
|
||||
|
||||
.SH "BUGS"
|
||||
As of March 2012 (version 0.8.3), \fBsgdisk\fR
|
||||
As of March 2012 (version 0.8.4), \fBsgdisk\fR
|
||||
should be considered beta software. Known bugs and limitations include:
|
||||
|
||||
.TP
|
||||
|
||||
@@ -38,8 +38,8 @@ string ReadString(void) {
|
||||
string inString;
|
||||
|
||||
getline(cin, inString);
|
||||
if (!cin)
|
||||
cin.clear();
|
||||
if (!cin.good())
|
||||
exit(5);
|
||||
return inString;
|
||||
} // ReadString()
|
||||
|
||||
@@ -56,6 +56,8 @@ int GetNumber(int low, int high, int def, const string & prompt) {
|
||||
do {
|
||||
cout << prompt;
|
||||
cin.getline(line, 255);
|
||||
if (!cin.good())
|
||||
exit(5);
|
||||
num = sscanf(line, "%d", &response);
|
||||
if (num == 1) { // user provided a response
|
||||
if ((response < low) || (response > high))
|
||||
@@ -100,6 +102,8 @@ uint64_t GetSectorNum(uint64_t low, uint64_t high, uint64_t def, uint64_t sSize,
|
||||
do {
|
||||
cout << prompt;
|
||||
cin.getline(line, 255);
|
||||
if (!cin.good())
|
||||
exit(5);
|
||||
response = IeeeToInt(line, sSize, low, high, def);
|
||||
} while ((response < low) || (response > high));
|
||||
return response;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#ifndef __GPTSUPPORT
|
||||
#define __GPTSUPPORT
|
||||
|
||||
#define GPTFDISK_VERSION "0.8.3"
|
||||
#define GPTFDISK_VERSION "0.8.4"
|
||||
|
||||
#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined (__APPLE__)
|
||||
// Darwin (Mac OS) & FreeBSD: disk IOCTLs are different, and there is no lseek64
|
||||
|
||||
Reference in New Issue
Block a user