Skip to content

Commit

Permalink
Fix Ctrl+D problems; 0.8.4 release
Browse files Browse the repository at this point in the history
  • Loading branch information
srs5694 committed Mar 25, 2012
1 parent 3488294 commit a6297b8
Show file tree
Hide file tree
Showing 11 changed files with 40 additions and 20 deletions.
9 changes: 9 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -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):
------------------

Expand Down
2 changes: 1 addition & 1 deletion basicmbr.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions cgdisk.8
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Copyright 2011, 2012 Roderick W. Smith ([email protected])
.\" 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"
Expand Down Expand Up @@ -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:
Expand Down
8 changes: 4 additions & 4 deletions current.spec
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -80,5 +80,5 @@ provides a few additional partition manipulation features.


%changelog
* Fri Mar 23 2012 R Smith <[email protected]> - 0.8.3
- Created spec file for 0.8.3 release
* Sun Mar 25 2012 R Smith <[email protected]> - 0.8.4
- Created spec file for 0.8.4 release
2 changes: 1 addition & 1 deletion diskio.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,6 @@ class DiskIO {
string GetName(void) const {return realFilename;}

uint64_t DiskSize(int* err);
}; // struct GPTPart
}; // class DiskIO

#endif
4 changes: 2 additions & 2 deletions fixparts.8
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Copyright 2011, 2012 Roderick W. Smith ([email protected])
.\" 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"
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions gdisk.8
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Copyright 2011, 2012 Roderick W. Smith ([email protected])
.\" 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"
Expand Down Expand Up @@ -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
Expand Down
8 changes: 5 additions & 3 deletions gpttext.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include <stdint.h>
#include <limits.h>
#include <iostream>
#include <fstream>
#include <sstream>
#include <cstdio>
#include "attributes.h"
Expand Down Expand Up @@ -509,12 +510,12 @@ void GPTDataTextUI::MainMenu(string filename) {
int goOn = 1;
PartType typeHelper;
uint32_t temp1, temp2;

do {
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: ";
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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)
Expand Down
9 changes: 7 additions & 2 deletions sgdisk.8
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Copyright 2011, 2012 Roderick W. Smith ([email protected])
.\" 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"
Expand Down Expand Up @@ -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
Expand Down
8 changes: 6 additions & 2 deletions support.cc
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ string ReadString(void) {
string inString;

getline(cin, inString);
if (!cin)
cin.clear();
if (!cin.good())
exit(5);
return inString;
} // ReadString()

Expand All @@ -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))
Expand Down Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion support.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit a6297b8

Please sign in to comment.