chore: better use of configure features
This commit is contained in:
8
.github/workflows/release.yml
vendored
8
.github/workflows/release.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
msystem: MINGW32
|
||||
grep: 386
|
||||
- ui: cli
|
||||
clionly: 1
|
||||
clionly: --with-cli-only
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
@@ -37,9 +37,7 @@ jobs:
|
||||
shell: bash
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
env:
|
||||
CLI_ONLY: ${{ matrix.clionly }}
|
||||
run: ./configure
|
||||
run: ./configure ${{ matrix.clionly }}
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
@@ -80,7 +78,7 @@ jobs:
|
||||
- name: install prerequisites
|
||||
run: sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man
|
||||
- name: configure
|
||||
run: env CLI_ONLY=1 ./configure
|
||||
run: ./configure --with-cli-only
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc) && make static && mv -f dvdisaster-static dvdisaster
|
||||
- name: check executable
|
||||
|
||||
6
.github/workflows/tests.yml
vendored
6
.github/workflows/tests.yml
vendored
@@ -89,7 +89,7 @@ jobs:
|
||||
shell: bash
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: env CLI_ONLY=1 ./configure
|
||||
run: ./configure --with-cli-only
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
@@ -125,7 +125,7 @@ jobs:
|
||||
shell: bash
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: env CLI_ONLY=1 ./configure
|
||||
run: ./configure --with-cli-only
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
@@ -153,7 +153,7 @@ jobs:
|
||||
- name: install prerequisites
|
||||
run: sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man jq
|
||||
- name: configure
|
||||
run: env CLI_ONLY=1 ./configure
|
||||
run: ./configure --with-cli-only
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executability
|
||||
|
||||
2
INSTALL
2
INSTALL
@@ -130,7 +130,7 @@ user@host> ./configure
|
||||
If you want to build a CLI-only version, which doesn't depend
|
||||
on the gtk2 libraries, you can run instead:
|
||||
|
||||
user@host> CLI_ONLY=1 ./configure
|
||||
user@host> ./configure --with-cli-only
|
||||
|
||||
The script will possibly print some errors about missing libraries.
|
||||
Type "configure --help" to learn about pointing configure
|
||||
|
||||
5
Makefile
5
Makefile
@@ -5,8 +5,9 @@
|
||||
all:
|
||||
@echo
|
||||
@echo "Please run \`./configure' first."
|
||||
@echo "To build a CLI-only version,"
|
||||
@echo "run \`CLI_ONLY=1 ./configure' instead."
|
||||
@echo
|
||||
@echo "To build a CLI-only version, run `./configure --with-cli-only'."
|
||||
@echo
|
||||
@echo "Note that dvdisaster requires GNU make to build."
|
||||
@echo "Under non-Linux systems, it might be known as \`gmake'."
|
||||
@echo
|
||||
|
||||
@@ -14,7 +14,7 @@ This version is built on top of the latest upstream version, with the following
|
||||
|
||||
- Most Debian patches have been applied, those specific to Debian have been omitted
|
||||
- Windows build supported again, it was dropped upstream a few versions back
|
||||
- A CLI-only version, not depending on gtk (`CLI_ONLY=1 ./configure && make clean && make -j4`)
|
||||
- A CLI-only version, not depending on gtk (`./configure --with-cli-only && make clean && make -j4`)
|
||||
- Regression tests confirmed working on Linux64, Windows32 and Windows64, for normal and CLI-only builds
|
||||
- Added pre-defined sizes for BD-R Triple Layer (100GB), BD-R Quadruple Layer (128GB)
|
||||
|
||||
|
||||
58
configure
vendored
58
configure
vendored
@@ -4,26 +4,10 @@
|
||||
|
||||
BASH_BASED_CONFIGURE=./scripts/bash-based-configure
|
||||
BASH_BASED_CONFIGURE_OPTS="--buildtmp=$(pwd)/build $@"
|
||||
REQUIRED_CFLAGS="-DPATCHLEVEL=5 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I. -pipe"
|
||||
REQUIRED_CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I. -pipe"
|
||||
RECOMMENDED_CFLAGS="-O2 -fomit-frame-pointer -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-format-zero-length"
|
||||
DEBUG_CFLAGS="-ggdb -Wall"
|
||||
|
||||
if [ "$CLI_ONLY" = 1 ]; then
|
||||
REQUIRED_CFLAGS="-DCLI $REQUIRED_CFLAGS"
|
||||
fi
|
||||
|
||||
if [ "$DEBUG_PRINTF_FORMAT" = 1 ]; then
|
||||
# don't use the binary compiled with this,
|
||||
# it's only useful to properly get all the build-time
|
||||
# warnings around printf-errors, that are otherwise
|
||||
# not catched by the compiler because of the _() macro
|
||||
REQUIRED_CFLAGS="-DDEBUG_PRINTF_FORMAT $REQUIRED_CFLAGS"
|
||||
else
|
||||
# warnings given by -Wformat-security are bogus because of _(),
|
||||
# see above comment if you actually want to check for format errors
|
||||
RECOMMENDED_CFLAGS="$RECOMMENDED_CFLAGS -Wno-format-security"
|
||||
fi
|
||||
|
||||
CFG_USE_CYGWIN="no" # do not change
|
||||
|
||||
if test -e $BASH_BASED_CONFIGURE; then
|
||||
@@ -37,8 +21,8 @@ fi
|
||||
# Set the package name and version
|
||||
|
||||
PACKAGE dvdisaster 0.79.6
|
||||
CFG_HAVE_OPTIONS="$CFG_HAVE_OPTIONS -DHAVE_UNSTABLE_RELEASE"
|
||||
|
||||
DEFINE_INT PATCHLEVEL 5
|
||||
DEFINE_STRING HAVE_UNSTABLE_RELEASE 1
|
||||
|
||||
# Check for some essential tools.
|
||||
|
||||
@@ -60,12 +44,22 @@ GET_LOCALEDIR
|
||||
GET_BUILDROOT
|
||||
GET_BUILDTMP
|
||||
|
||||
PRINT_MESSAGE "\nDetermining build flavor:"
|
||||
|
||||
# old way of specifying --with-cli-only
|
||||
if [ "$CLI_ONLY" = 1 ]; then
|
||||
cfg_with_cli_only=yes
|
||||
unset CLI_ONLY
|
||||
fi
|
||||
|
||||
WITH_OPTION cli-only no "[yes | no]"
|
||||
|
||||
# Look for required libraries
|
||||
|
||||
PRINT_MESSAGE "\nLooking for includes and libraries:"
|
||||
|
||||
REQUIRE_GLIB2 2 32 0
|
||||
if [ "$CLI_ONLY" != 1 ]; then
|
||||
if test "$cfg_with_cli_only" != "yes"; then
|
||||
REQUIRE_GTK2 2 6 0 WITH_THREADS
|
||||
fi
|
||||
echo
|
||||
@@ -129,7 +123,7 @@ if ! EXECUTE_PROGRAM "xgettext --help" xgettext \
|
||||
cfg_force_with_nls=no
|
||||
fi
|
||||
|
||||
if [ "$CLI_ONLY" != 1 ]; then
|
||||
if test "$cfg_with_cli_only" != "yes"; then
|
||||
if ! EXECUTE_PROGRAM "gdk-pixbuf-csource --help" gdk_pixbuf_csource ; then
|
||||
echo "* gdk-pixbuf not installed"
|
||||
echo "* or path to gdk-pixbuf-csource is missing."
|
||||
@@ -147,6 +141,24 @@ WITH_OPTION embedded-src-path yes "[yes | no]"
|
||||
PRINT_MESSAGE "\nDebugging options (do not use in production system):"
|
||||
|
||||
WITH_OPTION memdebug no "[no | yes]"
|
||||
WITH_OPTION debug-printf-format no "[no | yes]"
|
||||
WITH_OPTION werror no "[no | yes]"
|
||||
|
||||
if test "$cfg_with_debug_printf_format" == "yes"; then
|
||||
# don't use the binary compiled with this,
|
||||
# it's only useful to properly get all the build-time
|
||||
# warnings around printf-errors, that are otherwise
|
||||
# not catched by the compiler because of the _() macro
|
||||
DEFINE_STRING DEBUG_PRINTF_FORMAT 1
|
||||
else
|
||||
# warnings given by -Wformat-security are bogus because of _(),
|
||||
# see above comment if you actually want to check for format errors
|
||||
CFG_CFLAGS="$CFG_CFLAGS -Wno-format-security"
|
||||
fi
|
||||
|
||||
if test "$cfg_with_werror" == "yes"; then
|
||||
CFG_CFLAGS="$CFG_CFLAGS -Werror"
|
||||
fi
|
||||
|
||||
if test "$cfg_with_efence" == "yes"; then
|
||||
if ! CHECK_LIBRARY efence malloc efence; then
|
||||
@@ -172,7 +184,7 @@ cfiles="src/method-link.c"
|
||||
ofiles="$BUILDTMP/method-link.o"
|
||||
|
||||
for cfile in src/*.c; do
|
||||
if [ "$CLI_ONLY" = 1 ]; then
|
||||
if test "$cfg_with_cli_only" == "yes"; then
|
||||
grep -q 'DVDISASTER_GUI_FILE' "$cfile" && continue
|
||||
fi
|
||||
cfile_prefix=`echo $cfile | sed -e 's/\.c//'`
|
||||
@@ -184,7 +196,7 @@ done
|
||||
echo
|
||||
echo -e "\nCFG_CFILES = $cfiles" >> Makefile.config
|
||||
echo "CFG_OFILES = $ofiles" >> Makefile.config
|
||||
if [ "$CLI_ONLY" != 1 ]; then
|
||||
if test "$cfg_with_cli_only" != "yes"; then
|
||||
echo "ICONS = src/inlined-icons.h" >> Makefile.config
|
||||
fi
|
||||
|
||||
|
||||
@@ -470,7 +470,7 @@ function PACKAGE()
|
||||
echo "CFG_VERSION = $VERSION" >> Makefile.config
|
||||
}
|
||||
|
||||
# Add -D$1=$2 to CFG_OTHER_OPTIONS
|
||||
# Add -D$1="$2" to CFG_OTHER_OPTIONS
|
||||
|
||||
function DEFINE_STRING()
|
||||
{
|
||||
@@ -483,6 +483,19 @@ function DEFINE_STRING()
|
||||
CFG_OTHER_OPTIONS="$CFG_OTHER_OPTIONS -D$1=\\\"$2\\\""
|
||||
}
|
||||
|
||||
# Add -D$1=$2 to CFG_OTHER_OPTIONS
|
||||
|
||||
function DEFINE_INT()
|
||||
{
|
||||
if test -z "$1" || test -z "$2"; then
|
||||
echo "DEFINE_INT $1 $2:"
|
||||
echo " needs two arguments"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
CFG_OTHER_OPTIONS="$CFG_OTHER_OPTIONS -D$1=$2"
|
||||
}
|
||||
|
||||
# Add CFG_$1 = $2 to makefile
|
||||
|
||||
function DEFINE_VAR()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
build=$(grep BUILDNUM $1 2>/dev/null | cut -d\ -f3)
|
||||
build=$((build+1))
|
||||
cat >$1 <<EOF
|
||||
#ifdef CLI
|
||||
#ifdef WITH_CLI_ONLY_YES
|
||||
#define FLAVOR NOGUI
|
||||
#else
|
||||
#define FLAVOR GUI
|
||||
|
||||
@@ -137,7 +137,7 @@ find_dotfile:
|
||||
* Update color string for the <span color="#f00baa">...</span> string
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void UpdateMarkup(char **string, GdkColor *color)
|
||||
{ int hexval;
|
||||
|
||||
@@ -339,7 +339,7 @@ void ReadDotfile()
|
||||
if(!strcmp(symbol, "verbose")) { Closure->verbose = atoi(value); continue; }
|
||||
if(!strcmp(symbol, "welcome-msg")) { Closure->welcomeMessage = atoi(value); continue; }
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!strcmp(symbol, "positive-text")) { get_color(Closure->greenText, value);
|
||||
UpdateMarkup(&Closure->greenMarkup, Closure->greenText);
|
||||
continue;
|
||||
@@ -445,7 +445,7 @@ static void update_dotfile()
|
||||
g_fprintf(dotfile, "verbose: %d\n", Closure->verbose);
|
||||
g_fprintf(dotfile, "welcome-msg: %d\n\n", Closure->welcomeMessage);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
save_colors(dotfile, "positive-text", Closure->greenText);
|
||||
save_colors(dotfile, "negative-text", Closure->redText);
|
||||
save_colors(dotfile, "bar-color", Closure->barColor);
|
||||
@@ -566,7 +566,7 @@ void InitClosure()
|
||||
Closure->bdSize3 = Closure->savedBDSize3 = BDXL_TL_SIZE;
|
||||
Closure->bdSize4 = Closure->savedBDSize4 = BDXL_QL_SIZE;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->logString = g_string_sized_new(1024);
|
||||
Closure->logLock = g_malloc0(sizeof(GMutex));
|
||||
g_mutex_init(Closure->logLock);
|
||||
@@ -633,7 +633,7 @@ void cond_free_ptr_array(GPtrArray *a)
|
||||
|
||||
void FreeClosure()
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
#endif
|
||||
/* in CLI-only mode, always update dotfile */
|
||||
@@ -664,7 +664,7 @@ void FreeClosure()
|
||||
cond_free(Closure->dDumpDir);
|
||||
cond_free(Closure->dDumpPrefix);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->prefsContext)
|
||||
FreePreferences(Closure->prefsContext);
|
||||
|
||||
|
||||
@@ -260,7 +260,7 @@ int CheckForMissingSectors(unsigned char *buf, guint64 sector,
|
||||
*** Dialogue for indicating problem with the missing sector
|
||||
***/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
static void insert_buttons(GtkDialog *dialog)
|
||||
{
|
||||
gtk_dialog_add_buttons(dialog,
|
||||
@@ -271,7 +271,7 @@ static void insert_buttons(GtkDialog *dialog)
|
||||
|
||||
void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int source_type, int *number)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int answer;
|
||||
#endif
|
||||
guint64 recorded_number;
|
||||
@@ -293,7 +293,7 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
|
||||
/* In CLI mode, only report the first unrecoverable sector unless verbose is given. */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode && !Closure->verbose && *number > 0)
|
||||
#else
|
||||
if(!Closure->verbose && *number > 0)
|
||||
@@ -313,7 +313,7 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
vol_label = get_volume_label(buf);
|
||||
if(vol_label)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
label_msg = g_strdup_printf(_("\n\nThe label of the original (defective) medium was:\n%s\n\n"), vol_label);
|
||||
else
|
||||
@@ -339,11 +339,11 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
"repaired by dvdisaster. Also it will not be possible to create\n"
|
||||
"error correction data for it. Sorry for the bad news.\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintLogWithAsterisks(msg,sector, recorded_number, label_msg);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ answer = ModalDialog(GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, insert_buttons, msg,
|
||||
sector, recorded_number, label_msg);
|
||||
@@ -366,11 +366,11 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
"repaired by dvdisaster. Also it will not be possible to create\n"
|
||||
"error correction data for it. Sorry for the bad news.\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintLogWithAsterisks(msg,sector, label_msg);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ answer = ModalDialog(GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, insert_buttons, msg,
|
||||
sector, label_msg);
|
||||
@@ -395,11 +395,11 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
"repaired by dvdisaster. Also it will not be possible to create\n"
|
||||
"error correction data for it. Sorry for the bad news.\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintLogWithAsterisks(msg, sector);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ answer = ModalDialog(GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, insert_buttons, msg,
|
||||
sector);
|
||||
@@ -419,11 +419,11 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
"in the ecc file are missing and its error correction\n"
|
||||
"capacity will be reduced.\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintLogWithAsterisks(msg, sector);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ answer = ModalDialog(GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, insert_buttons, msg,
|
||||
sector);
|
||||
|
||||
@@ -114,7 +114,7 @@ typedef enum
|
||||
int main(int argc, char *argv[])
|
||||
{ int mode = MODE_NONE;
|
||||
int sequence = MODE_NONE;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int devices_queried = FALSE;
|
||||
#endif
|
||||
char *debug_arg = NULL;
|
||||
@@ -763,7 +763,7 @@ int main(int argc, char *argv[])
|
||||
if(!Closure->device && mode == MODE_SEQUENCE
|
||||
&& (sequence & (1<<MODE_READ | 1<<MODE_SCAN)))
|
||||
{ Closure->device = DefaultDevice();
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
devices_queried = TRUE;
|
||||
#endif
|
||||
}
|
||||
@@ -920,7 +920,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/*** If no mode was selected, print the help screen. */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(mode == MODE_HELP)
|
||||
#else
|
||||
if(mode == MODE_HELP || mode == MODE_NONE)
|
||||
@@ -1019,7 +1019,7 @@ int main(int argc, char *argv[])
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/* If no mode was selected at the command line,
|
||||
start the graphical user interface. */
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gprintf.h>
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
#include <gtk/gtk.h>
|
||||
#endif
|
||||
|
||||
@@ -86,13 +86,14 @@
|
||||
Note that these functions are even required when
|
||||
WITH_NLS_NO is set! */
|
||||
|
||||
#ifdef DEBUG_PRINTF_FORMAT
|
||||
/* disable sgettext() calls so that the compiler can analyze printf format strings */
|
||||
#define _(string) string
|
||||
#define _utf(string) string
|
||||
#else
|
||||
#ifndef WITH_DEBUG_PRINTF_FORMAT_YES
|
||||
#define _(string) sgettext(string)
|
||||
#define _utf(string) sgettext_utf8(string)
|
||||
#else
|
||||
/* disable sgettext() calls so that the compiler
|
||||
can analyze printf format strings */
|
||||
#define _(string) string
|
||||
#define _utf(string) string
|
||||
#endif
|
||||
|
||||
/* File permissions for images */
|
||||
@@ -109,7 +110,7 @@
|
||||
#define round(x) rint(x)
|
||||
#endif
|
||||
|
||||
#ifdef CLI
|
||||
#ifdef WITH_CLI_ONLY_YES
|
||||
#define STATUS_LABEL_OR_NULL NULL
|
||||
#else
|
||||
#define STATUS_LABEL_OR_NULL Closure->status
|
||||
@@ -310,7 +311,7 @@ typedef struct _GlobalClosure
|
||||
|
||||
struct _CrcBuf *crcBuf; /* crcBuf of last image read */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/*** GUI-related things */
|
||||
|
||||
int guiMode; /* TRUE if GUI is active */
|
||||
@@ -318,7 +319,7 @@ typedef struct _GlobalClosure
|
||||
#endif
|
||||
int noMissingWarnings; /* suppress warnings about inconsistent missing sectors */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
GtkWidget *logWidget; /* Dialog for the log display */
|
||||
GtkScrolledWindow *logScroll; /* and its scrolled window */
|
||||
GtkTextBuffer *logBuffer; /* Text buffer for the log output */
|
||||
@@ -401,7 +402,7 @@ typedef struct _GlobalClosure
|
||||
GtkWidget *readLinearFootlineBox;
|
||||
#endif
|
||||
gint64 crcErrors, readErrors; /* these are passed between threads and must therefore be global */
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
|
||||
/*** Widgets for the adaptive reading action */
|
||||
|
||||
@@ -549,7 +550,7 @@ int ProbeCacheLineSize();
|
||||
|
||||
void InitClosure(void);
|
||||
void LocalizedFileDefaults(void);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void UpdateMarkup(char**, GdkColor*);
|
||||
void DefaultColors(void);
|
||||
#endif
|
||||
@@ -624,7 +625,7 @@ int CrcBufValid(CrcBuf*, struct _Image*, EccHeader*);
|
||||
|
||||
void PrintCrcBuf(CrcBuf*);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/***
|
||||
*** curve.c
|
||||
***/
|
||||
@@ -735,7 +736,7 @@ void PrintEccHeader(EccHeader*);
|
||||
*** fix-window.c
|
||||
***/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void CreateFixWindow(GtkWidget*);
|
||||
#endif
|
||||
|
||||
@@ -795,7 +796,7 @@ void FreeGaloisTables(GaloisTables*);
|
||||
ReedSolomonTables *CreateReedSolomonTables(GaloisTables*, gint32, gint32, int);
|
||||
void FreeReedSolomonTables(ReedSolomonTables*);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/***
|
||||
*** help-dialogs.c
|
||||
***/
|
||||
@@ -1073,7 +1074,7 @@ int forget(void*);
|
||||
|
||||
void check_memleaks(void);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/***
|
||||
*** menubar.c
|
||||
***/
|
||||
@@ -1109,7 +1110,7 @@ typedef struct _Method
|
||||
void (*updateCksums)(Image*, gint64, unsigned char*);/* checksum while reading an image */
|
||||
int (*finalizeCksums)(Image*);
|
||||
void *ckSumClosure; /* working closure for above */
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void (*createVerifyWindow)(struct _Method*, GtkWidget*);
|
||||
void (*createCreateWindow)(struct _Method*, GtkWidget*);
|
||||
void (*createFixWindow)(struct _Method*, GtkWidget*);
|
||||
@@ -1121,7 +1122,7 @@ typedef struct _Method
|
||||
void (*readPreferences)(struct _Method*);
|
||||
#endif
|
||||
void (*destroy)(struct _Method*);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int tabWindowIndex; /* our position in the (invisible) notebook */
|
||||
void *widgetList; /* linkage to window system */
|
||||
#endif
|
||||
@@ -1155,7 +1156,7 @@ void Verbose(char*, ...) PRINTF_FORMAT(1);
|
||||
void PrintTimeToLog(GTimer*, char*, ...) PRINTF_FORMAT(2);
|
||||
void PrintProgress(char*, ...) PRINTF_FORMAT(1);
|
||||
void ClearProgress(void);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void PrintCLIorLabel(GtkLabel*, char*, ...) PRINTF_FORMAT(2);
|
||||
#else
|
||||
void PrintCLIorLabel(void*, char*, ...) PRINTF_FORMAT(2);
|
||||
@@ -1169,7 +1170,7 @@ void UnregisterCleanup(void);
|
||||
|
||||
GThread* CreateGThread(GThreadFunc, gpointer);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void ShowWidget(GtkWidget*);
|
||||
void AllowActions(gboolean);
|
||||
|
||||
@@ -1186,7 +1187,7 @@ int ModalWarning(char*, ...) PRINTF_FORMAT(1);
|
||||
#define ModalWarningOrCLI(a,b,c,d,...) ModalWarning(d,__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void SetText(PangoLayout*, char*, int*, int*);
|
||||
void SwitchAndSetFootline(GtkWidget*, int, GtkWidget*, char*, ...) PRINTF_FORMAT(4);
|
||||
|
||||
@@ -1200,7 +1201,7 @@ void LockLabelSize(GtkLabel*, char*, ...) PRINTF_FORMAT(2);
|
||||
int ConfirmImageDeletion(char *);
|
||||
int ConfirmEccDeletion(char *);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/***
|
||||
*** preferences.c
|
||||
***/
|
||||
@@ -1270,7 +1271,7 @@ void ReadDefectiveSectorFile(DefectiveSectorHeader *, struct _RawBuffer*, char*)
|
||||
|
||||
void ReadMediumLinear(gpointer);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/***
|
||||
*** read-linear-window.c
|
||||
***/
|
||||
@@ -1292,7 +1293,7 @@ void GetReadingRange(gint64, gint64*, gint64*);
|
||||
|
||||
void ReadMediumAdaptive(gpointer);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/***
|
||||
*** read-adaptive-window.c
|
||||
***/
|
||||
@@ -1473,7 +1474,7 @@ void *PrepareIterativeSmartLEC(RawBuffer*);
|
||||
void SmartLECIteration(void*, char*);
|
||||
void EndIterativeSmartLEC(void*);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/***
|
||||
*** spiral.c
|
||||
***/
|
||||
|
||||
@@ -53,7 +53,7 @@ void register_rs01(void)
|
||||
method->finalizeCksums = RS01FinalizeCksums;
|
||||
method->expectedImageSize = RS01ExpectedImageSize;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/*** Linkage to rs01-window.c */
|
||||
|
||||
method->createCreateWindow = CreateRS01EWindow;
|
||||
@@ -80,13 +80,13 @@ void register_rs01(void)
|
||||
|
||||
static void destroy(Method *method)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS01Widgets *wl = (RS01Widgets*)method->widgetList;
|
||||
#endif
|
||||
|
||||
g_free(method->ckSumClosure);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(wl)
|
||||
{ if(wl->fixCurve) FreeCurve(wl->fixCurve);
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ void register_rs02(void)
|
||||
method->finalizeCksums = RS02FinalizeCksums;
|
||||
method->expectedImageSize = RS02ExpectedImageSize;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/*** Linkage to rs02-window.c */
|
||||
|
||||
method->createCreateWindow = CreateRS02EncWindow;
|
||||
@@ -82,7 +82,7 @@ void register_rs02(void)
|
||||
|
||||
static void destroy(Method *method)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS02Widgets *wl = (RS02Widgets*)method->widgetList;
|
||||
#endif
|
||||
RS02CksumClosure *csc = (RS02CksumClosure*)method->ckSumClosure;
|
||||
@@ -91,7 +91,7 @@ static void destroy(Method *method)
|
||||
g_free(csc->lay);
|
||||
g_free(method->ckSumClosure);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(wl)
|
||||
{ if(wl->fixCurve) FreeCurve(wl->fixCurve);
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ void register_rs03(void)
|
||||
method->recognizeEccFile = RS03RecognizeFile;
|
||||
method->recognizeEccImage = RS03RecognizeImage;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/*** Linkage to rs03-window.c */
|
||||
|
||||
method->createCreateWindow = CreateRS03EncWindow;
|
||||
@@ -83,7 +83,7 @@ void register_rs03(void)
|
||||
|
||||
static void destroy(Method *method)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS03Widgets *wl = (RS03Widgets*)method->widgetList;
|
||||
#endif
|
||||
RS03CksumClosure *csc = (RS03CksumClosure*)method->ckSumClosure;
|
||||
@@ -92,7 +92,7 @@ static void destroy(Method *method)
|
||||
g_free(csc->lay);
|
||||
g_free(method->ckSumClosure);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(wl)
|
||||
{ if(wl->fixCurve) FreeCurve(wl->fixCurve);
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@ int ReportImageEccInconsistencies(Image *image)
|
||||
|
||||
if(!image || image->type == IMAGE_NONE)
|
||||
{ if(image) CloseImage(image);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ CreateMessage(_("Image file %s not present or permission denied.\n"), GTK_MESSAGE_ERROR, Closure->imageName);
|
||||
return TRUE;
|
||||
@@ -163,7 +163,7 @@ int ReportImageEccInconsistencies(Image *image)
|
||||
|
||||
if(image->eccFile && !image->eccFileMethod)
|
||||
{ CloseImage(image);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ CreateMessage(_("\nError correction file type unknown.\n"), GTK_MESSAGE_ERROR);
|
||||
return TRUE;
|
||||
@@ -178,7 +178,7 @@ int ReportImageEccInconsistencies(Image *image)
|
||||
|
||||
if(!image->eccFile && image->eccFileState == ECCFILE_NOPERM)
|
||||
{ CloseImage(image);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ CreateMessage(_("\nPermission denied on ecc file (perhaps not writeable?).\n"),
|
||||
GTK_MESSAGE_ERROR);
|
||||
@@ -195,7 +195,7 @@ int ReportImageEccInconsistencies(Image *image)
|
||||
|
||||
if(!image->eccFile && !image->eccMethod)
|
||||
{ CloseImage(image);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ CreateMessage(_("\nNo error correction file present.\n"
|
||||
"No error correction data recognized in image.\n"), GTK_MESSAGE_ERROR);
|
||||
|
||||
@@ -211,7 +211,7 @@ ssize_t LargeRead(LargeFile *lf, void *buf, size_t count)
|
||||
* Writing large files
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
static void insert_buttons(GtkDialog *dialog)
|
||||
{
|
||||
gtk_dialog_add_buttons(dialog,
|
||||
@@ -226,7 +226,7 @@ static ssize_t xwrite(int fdes, void *buf_base, size_t count)
|
||||
|
||||
/* Simply fail when going out of space in command line mode */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
{ while(count)
|
||||
@@ -243,7 +243,7 @@ static ssize_t xwrite(int fdes, void *buf_base, size_t count)
|
||||
return total;
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/* Give the user a chance to free more space in GUI mode.
|
||||
When running out of space, the last write() may complete
|
||||
with n<count but no error condition, so we try writing
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "scsi-layer.h"
|
||||
#include "udf.h"
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/*
|
||||
* Local data
|
||||
*/
|
||||
@@ -85,21 +85,21 @@ static void print_tab(char *label, int tab_width)
|
||||
void PrintMediumInfo(void *mi_ptr)
|
||||
{ Image *image;
|
||||
DeviceHandle *dh;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
medium_info *mi=(medium_info*)mi_ptr;
|
||||
#endif
|
||||
char *disc_status;
|
||||
char *sess_status;
|
||||
int tab_width=30;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!mi) /* create dummy medium_info in CLI mode so that PrintCLIorLabel() won't crash */
|
||||
{ mi=alloca(sizeof(medium_info));
|
||||
memset(mi, 0, sizeof(medium_info));
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
print_defaults(mi);
|
||||
#endif
|
||||
@@ -125,7 +125,7 @@ void PrintMediumInfo(void *mi_ptr)
|
||||
|
||||
print_tab("Medium type:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->physicalType,
|
||||
#else
|
||||
NULL,
|
||||
@@ -133,7 +133,7 @@ NULL,
|
||||
"%s\n", dh->typeDescr);
|
||||
print_tab("Book type:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->bookType,
|
||||
#else
|
||||
NULL,
|
||||
@@ -141,7 +141,7 @@ NULL,
|
||||
"%s\n", dh->bookDescr);
|
||||
print_tab("Manuf.-ID:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->manufID,
|
||||
#else
|
||||
NULL,
|
||||
@@ -149,7 +149,7 @@ NULL,
|
||||
"%s\n", dh->manuID);
|
||||
print_tab("Drive profile:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->profileDescr,
|
||||
#else
|
||||
NULL,
|
||||
@@ -172,7 +172,7 @@ NULL,
|
||||
|
||||
print_tab("Disc status:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->discStatus,
|
||||
#else
|
||||
NULL,
|
||||
@@ -184,7 +184,7 @@ NULL,
|
||||
|
||||
print_tab("Used sectors:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->usedCapacity1,
|
||||
#else
|
||||
NULL,
|
||||
@@ -193,7 +193,7 @@ NULL,
|
||||
dh->readCapacity+1, (dh->readCapacity+1)>>9);
|
||||
print_tab(" ",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->usedCapacity2,
|
||||
#else
|
||||
NULL,
|
||||
@@ -203,7 +203,7 @@ NULL,
|
||||
|
||||
print_tab("Blank capacity:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->blankCapacity,
|
||||
#else
|
||||
NULL,
|
||||
@@ -225,7 +225,7 @@ NULL,
|
||||
|
||||
print_tab("Medium label:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->isoLabel,
|
||||
#else
|
||||
NULL,
|
||||
@@ -233,7 +233,7 @@ NULL,
|
||||
"%s\n", image->isoInfo->volumeLabel);
|
||||
print_tab("File system size:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->isoSize,
|
||||
#else
|
||||
NULL,
|
||||
@@ -242,7 +242,7 @@ NULL,
|
||||
image->isoInfo->volumeSize, (gint64)image->isoInfo->volumeSize>>9);
|
||||
print_tab("Creation time:",tab_width);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mi->isoTime,
|
||||
#else
|
||||
NULL,
|
||||
@@ -271,7 +271,7 @@ NULL,
|
||||
memcpy(method, eh->method, 4);
|
||||
method[4] = 0;
|
||||
print_tab("Error correction data:",tab_width);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
PrintCLIorLabel(mi->eccState, _("%s, %d roots, %4.1f%% redundancy.\n"),
|
||||
#else
|
||||
PrintCLIorLabel(NULL, _("%s, %d roots, %4.1f%% redundancy.\n"),
|
||||
@@ -279,7 +279,7 @@ NULL,
|
||||
method, eh->eccBytes,
|
||||
((double)eh->eccBytes*100.0)/(double)eh->dataBytes);
|
||||
print_tab("Augmented image size:",tab_width);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
PrintCLIorLabel(mi->eccSize, _("%" PRIu64 " sectors (%" PRId64 " MiB)\n"),
|
||||
#else
|
||||
PrintCLIorLabel(NULL, _("%" PRId64 " sectors (%" PRId64 " MiB)\n"),
|
||||
@@ -289,13 +289,13 @@ NULL,
|
||||
print_tab("dvdisaster version:", tab_width);
|
||||
|
||||
if(micro)
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
PrintCLIorLabel(mi->eccVersion, "%d.%d.%d", major, minor, micro);
|
||||
#else
|
||||
PrintCLIorLabel(NULL, "%d.%d.%d", major, minor, micro);
|
||||
#endif
|
||||
else
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
PrintCLIorLabel(mi->eccVersion, "%d.%d", major, minor);
|
||||
#else
|
||||
PrintCLIorLabel(NULL, "%d.%d", major, minor);
|
||||
@@ -310,7 +310,7 @@ NULL,
|
||||
/***
|
||||
*** GUI callbacks
|
||||
***/
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
|
||||
/*
|
||||
* Callback for drive selection
|
||||
|
||||
48
src/misc.c
48
src/misc.c
@@ -58,7 +58,7 @@ char *sgettext(char *msgid)
|
||||
|
||||
char *sgettext_utf8(char *msgid)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
static gchar ringbuf[20][1024];
|
||||
static int ringptr;
|
||||
#endif
|
||||
@@ -80,7 +80,7 @@ char *sgettext_utf8(char *msgid)
|
||||
|
||||
/*** If we are running the GUI, convert to UTF8 for Gtk+ */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ char *msg_utf8 = g_locale_to_utf8(msgval, -1, NULL, NULL, NULL);
|
||||
|
||||
@@ -148,7 +148,7 @@ void CalcSectors(guint64 size, guint64 *sectors, int *in_last)
|
||||
* Append message to the log window.
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
|
||||
#define MAX_LOG_WIN_SIZE 10240
|
||||
|
||||
@@ -241,7 +241,7 @@ void PrintCLI(char *format, ...)
|
||||
va_end(argp);
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(Closure->verbose)
|
||||
{ va_start(argp, format);
|
||||
@@ -271,7 +271,7 @@ void PrintProgress(char *format, ...)
|
||||
va_list argp;
|
||||
int n;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
return;
|
||||
#endif
|
||||
@@ -338,7 +338,7 @@ void PrintLog(char *format, ...)
|
||||
|
||||
va_start(argp, format);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
log_window_vprintf(format, argp);
|
||||
else
|
||||
@@ -389,7 +389,7 @@ void PrintLogWithAsterisks(char *format, ...)
|
||||
|
||||
va_start(argp, format);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
log_window_vprintf(new_format, argp);
|
||||
else
|
||||
@@ -423,7 +423,7 @@ void Verbose(char *format, ...)
|
||||
|
||||
va_start(argp, format);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
log_window_vprintf(format, argp);
|
||||
else
|
||||
@@ -459,7 +459,7 @@ void PrintTimeToLog(GTimer *timer, char *format, ...)
|
||||
tmp2 = g_strdup_printf("%02d:%02d:%04.1f %s", hours, minutes, seconds, tmp1);
|
||||
va_end(argp);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{
|
||||
log_window_append(tmp2);
|
||||
@@ -480,7 +480,7 @@ void PrintTimeToLog(GTimer *timer, char *format, ...)
|
||||
* or show it in the given label
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void PrintCLIorLabel(GtkLabel *label, char *format, ...)
|
||||
#else
|
||||
void PrintCLIorLabel(void *unused, char *format, ...)
|
||||
@@ -495,7 +495,7 @@ void PrintCLIorLabel(void *unused, char *format, ...)
|
||||
|
||||
va_start(argp, format);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ char *c,*tmp;
|
||||
|
||||
@@ -562,7 +562,7 @@ static void vlog_warning(char *format, va_list argp)
|
||||
prefix[len] = 0;
|
||||
|
||||
str = g_string_sized_new(256);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
g_string_append_printf(str,"* %s:%c", warn, Closure->guiMode ? '\n' : ' ');
|
||||
#else
|
||||
g_string_append_printf(str,"* %s: ", warn);
|
||||
@@ -570,7 +570,7 @@ static void vlog_warning(char *format, va_list argp)
|
||||
do
|
||||
{ c = strchr(line,'\n');
|
||||
if(c) *c=0;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode) g_string_append_printf(str,"* %s\n",line);
|
||||
else
|
||||
#endif
|
||||
@@ -584,7 +584,7 @@ static void vlog_warning(char *format, va_list argp)
|
||||
if(Closure->logFileEnabled)
|
||||
PrintLogFile("%s", str->str);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ log_window_append(str->str);
|
||||
}
|
||||
@@ -637,7 +637,7 @@ void Stop(char *format, ...)
|
||||
|
||||
/*** CLI mode */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
{ g_printf("%s", _("\n*\n* dvdisaster - can not continue:\n*\n"));
|
||||
@@ -650,7 +650,7 @@ void Stop(char *format, ...)
|
||||
|
||||
/*** GUI mode */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ char *titled,*msg,*utf_msg;
|
||||
int idx;
|
||||
@@ -710,7 +710,7 @@ void Stop(char *format, ...)
|
||||
|
||||
/* see above: possibly unreachable in GUI mode! */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
{ FreeClosure();
|
||||
@@ -782,7 +782,7 @@ void CallIdleFunc(gboolean (*idle_func)(gpointer), gpointer data)
|
||||
/***
|
||||
*** Graphical user interface convenience
|
||||
***/
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
|
||||
/*
|
||||
* Show the given widget
|
||||
@@ -1111,7 +1111,7 @@ int ModalWarning(char *msg, ...)
|
||||
vlog_warning(msg, argp);
|
||||
va_end(argp);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ va_start(argp, msg);
|
||||
result = vmodal_dialog(mt, bt, button_fn, msg, argp);
|
||||
@@ -1126,7 +1126,7 @@ int ModalWarning(char *msg, ...)
|
||||
* Set the text in the pango layout and retrieve its extents.
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void SetText(PangoLayout *layout, char *text, int *w, int *h)
|
||||
{ PangoRectangle rect;
|
||||
char *t = g_locale_to_utf8(text, -1, NULL, NULL, NULL);
|
||||
@@ -1316,12 +1316,12 @@ static void insert_button(GtkDialog *dialog)
|
||||
#endif
|
||||
int ConfirmImageDeletion(char *file)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode) /* Always delete it in command line mode */
|
||||
#endif
|
||||
return TRUE;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->confirmDeletion) /* I told you so... */
|
||||
return TRUE;
|
||||
|
||||
@@ -1338,12 +1338,12 @@ int ConfirmImageDeletion(char *file)
|
||||
|
||||
int ConfirmEccDeletion(char *file)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode) /* Always delete it in command line mode */
|
||||
#endif
|
||||
return TRUE;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->confirmDeletion) /* I told you so... */
|
||||
return TRUE;
|
||||
|
||||
|
||||
@@ -195,7 +195,7 @@ int SaveDefectiveSector(RawBuffer *rb, int can_c2_scan)
|
||||
if(!LargeStat(filename, &length))
|
||||
{
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->status,
|
||||
#else
|
||||
NULL,
|
||||
@@ -272,7 +272,7 @@ int SaveDefectiveSector(RawBuffer *rb, int can_c2_scan)
|
||||
LargeClose(file);
|
||||
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->status,
|
||||
#else
|
||||
NULL,
|
||||
@@ -327,7 +327,7 @@ int TryDefectiveSectorCache(RawBuffer *rb, unsigned char *outbuf)
|
||||
if(!status)
|
||||
{
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->status,
|
||||
#else
|
||||
NULL,
|
||||
|
||||
@@ -368,7 +368,7 @@ static void cleanup(gpointer data)
|
||||
}
|
||||
|
||||
bail_out:
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(rc->earlyTermination)
|
||||
SetAdaptiveReadFootline(_("Aborted by unrecoverable error."), Closure->redText);
|
||||
@@ -401,7 +401,7 @@ bail_out:
|
||||
|
||||
g_free(rc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -490,7 +490,7 @@ static void print_progress(read_closure *rc, int immediate)
|
||||
int total = rc->readable+rc->correctable;
|
||||
int percent = (int)((1000LL*(long long)total)/rc->expectedSectors);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
return;
|
||||
#endif
|
||||
@@ -542,7 +542,7 @@ static void print_progress(read_closure *rc, int immediate)
|
||||
static void clear_progress(read_closure *rc)
|
||||
{
|
||||
if(!rc->progressMsgLen ||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->guiMode)
|
||||
#else
|
||||
0)
|
||||
@@ -564,7 +564,7 @@ static void clear_progress(read_closure *rc)
|
||||
* Sector markup in the spiral
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
static void mark_sector(read_closure *rc, gint64 sector, GdkColor *color)
|
||||
{ int segment;
|
||||
int changed = FALSE;
|
||||
@@ -654,7 +654,7 @@ static void open_and_determine_mode(read_closure *rc)
|
||||
|
||||
PrintLog(_("%s-type ECC found\n"), "RS01");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SetAdaptiveReadMinimumPercentage((1000*(rc->eh->dataBytes-rc->eh->eccBytes))/rc->eh->dataBytes);
|
||||
#endif
|
||||
}
|
||||
@@ -664,7 +664,7 @@ static void open_and_determine_mode(read_closure *rc)
|
||||
rc->eh = rc->medium->eccHeader;
|
||||
rc->lay = RS02LayoutFromImage(rc->medium);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SetAdaptiveReadMinimumPercentage((1000*rc->lay->ndata)/255);
|
||||
#endif
|
||||
|
||||
@@ -706,7 +706,7 @@ static void open_and_determine_mode(read_closure *rc)
|
||||
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SetAdaptiveReadFootline(_("Aborted by user request!"), Closure->redText);
|
||||
#endif
|
||||
rc->earlyTermination = FALSE;
|
||||
@@ -769,7 +769,7 @@ static void check_size(read_closure *rc)
|
||||
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SetAdaptiveReadFootline(_("Aborted by user request!"), Closure->redText);
|
||||
#endif
|
||||
rc->earlyTermination = FALSE;
|
||||
@@ -788,7 +788,7 @@ static void check_size(read_closure *rc)
|
||||
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SetAdaptiveReadFootline(_("Aborted by user request!"), Closure->redText);
|
||||
#endif
|
||||
rc->earlyTermination = FALSE;
|
||||
@@ -808,13 +808,13 @@ void GetReadingRange(gint64 sectors, gint64 *firstSector, gint64 *lastSector)
|
||||
|
||||
if(Closure->readStart || Closure->readEnd)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode) /* more range checks are made below */
|
||||
#endif
|
||||
{ first = Closure->readStart;
|
||||
last = Closure->readEnd < 0 ? sectors-1 : Closure->readEnd;
|
||||
}
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else /* be more permissive in GUI mode */
|
||||
{ first = 0;
|
||||
last = sectors-1;
|
||||
@@ -861,7 +861,7 @@ static void check_ecc_fingerprint(read_closure *rc)
|
||||
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SetAdaptiveReadFootline(_("Aborted by user request!"), Closure->redText);
|
||||
#endif
|
||||
rc->earlyTermination = FALSE;
|
||||
@@ -911,11 +911,11 @@ int check_image_fingerprint(read_closure *rc)
|
||||
|
||||
if(memcmp(image_fp, medium_fp, 16))
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
Stop(_("Image file does not match the optical disc."));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ int answer = ConfirmImageDeletion(Closure->imageName);
|
||||
|
||||
@@ -956,7 +956,7 @@ void check_image_size(read_closure *rc, gint64 image_file_sectors)
|
||||
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SetAdaptiveReadFootline(_("Aborted by user request!"), Closure->redText);
|
||||
#endif
|
||||
rc->earlyTermination = FALSE;
|
||||
@@ -976,13 +976,13 @@ static void load_crc_buf(read_closure *rc)
|
||||
{
|
||||
switch(rc->readMode)
|
||||
{ case ECC_IN_FILE:
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SetAdaptiveReadSubtitle(_utf("Loading CRC data."));
|
||||
#endif
|
||||
rc->crcBuf = GetCRCFromRS01_obsolete(rc->ei);
|
||||
break;
|
||||
case ECC_IN_IMAGE:
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SetAdaptiveReadSubtitle(_utf("Loading CRC data."));
|
||||
#endif
|
||||
rc->crcBuf = GetCRCFromRS02_obsolete(rc->lay, rc->dh, rc->image);
|
||||
@@ -1015,7 +1015,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
Check them for "dead sector markers"
|
||||
and for checksum failures if ecc data is present. */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetAdaptiveReadSubtitle(_("Analysing existing image file"));
|
||||
#endif
|
||||
@@ -1025,7 +1025,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
|
||||
/* Check for user interruption. */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{ SetAdaptiveReadFootline(_("Aborted by user request!"), Closure->redText);
|
||||
rc->earlyTermination = FALSE;
|
||||
@@ -1045,7 +1045,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
|
||||
if(current_missing)
|
||||
{ int fixme=0;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, s, Closure->redSector);
|
||||
#endif
|
||||
ExplainMissingSector(rc->buf, s, current_missing, SOURCE_IMAGE, &fixme);
|
||||
@@ -1067,7 +1067,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
make it missing due to the CRC failure. */
|
||||
if(!current_missing)
|
||||
{ current_missing = 1;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, s, Closure->yellowSector);
|
||||
#endif
|
||||
}
|
||||
@@ -1084,7 +1084,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
if(rc->map)
|
||||
SetBit(rc->map, s);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, s, Closure->greenSector);
|
||||
#endif
|
||||
|
||||
@@ -1121,7 +1121,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
percent = (100*s)/(rc->highestWrittenSector+1);
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintProgress(_("Analysing existing image file: %2d%%"),percent);
|
||||
@@ -1151,7 +1151,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
/*** Now that all readable sectors are known,
|
||||
determine those which can already be corrected. */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetAdaptiveReadSubtitle(_("Determining correctable sectors"));
|
||||
#endif
|
||||
@@ -1186,7 +1186,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
#ifdef CHECK_VISITED
|
||||
rc->count[layer_idx]++;
|
||||
#endif
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, layer_idx, Closure->greenSector);
|
||||
#endif
|
||||
}
|
||||
@@ -1221,7 +1221,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
&& !GetBit(rc->map, sector))
|
||||
{ SetBit(rc->map, sector);
|
||||
rc->correctable++;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, sector, Closure->greenSector);
|
||||
#endif
|
||||
}
|
||||
@@ -1238,7 +1238,7 @@ static void build_interval_from_image(read_closure *rc)
|
||||
else PrintLog(_("Analysing existing image file: %" PRId64 " readable, %" PRId64 " still missing.\n"),
|
||||
rc->readable, rc->expectedSectors-rc->readable-rc->correctable);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
UpdateAdaptiveResults(rc->readable, rc->correctable,
|
||||
rc->expectedSectors-rc->readable-rc->correctable,
|
||||
@@ -1267,14 +1267,14 @@ static void mark_rs02_headers(read_closure *rc)
|
||||
while(hpos < end)
|
||||
{ if(!GetBit(rc->map, hpos))
|
||||
{ SetBit(rc->map, hpos);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, hpos, Closure->greenSector);
|
||||
#endif
|
||||
rc->correctable++;
|
||||
}
|
||||
if(!GetBit(rc->map, hpos+1))
|
||||
{ SetBit(rc->map, hpos+1);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, hpos+1, Closure->greenSector);
|
||||
#endif
|
||||
rc->correctable++;
|
||||
@@ -1288,7 +1288,7 @@ static void mark_rs02_headers(read_closure *rc)
|
||||
*** Main routine for adaptive reading
|
||||
***/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
static void insert_buttons(GtkDialog *dialog)
|
||||
{
|
||||
gtk_dialog_add_buttons(dialog,
|
||||
@@ -1333,7 +1333,7 @@ void fill_gap(read_closure *rc)
|
||||
t = g_strdup_printf(_("Filling image area [%" PRId64 "..%" PRId64 "]"),
|
||||
firstUnwritten, rc->intervalStart-1);
|
||||
clear_progress(rc);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetAdaptiveReadSubtitle(t);
|
||||
ChangeSpiralCursor(Closure->readAdaptiveSpiral, -1);
|
||||
@@ -1364,7 +1364,7 @@ void fill_gap(read_closure *rc)
|
||||
|
||||
/* Check whether user hit the Stop button */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{
|
||||
if(Closure->guiMode)
|
||||
@@ -1380,7 +1380,7 @@ void fill_gap(read_closure *rc)
|
||||
if(j++ % 2000)
|
||||
{ int seq = (j/2000)%10;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
{ g_printf("%s", anim[seq]);
|
||||
@@ -1390,7 +1390,7 @@ void fill_gap(read_closure *rc)
|
||||
|
||||
/* Show progress in the spiral */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ int segment = i / rc->sectorsPerSegment;
|
||||
|
||||
@@ -1403,7 +1403,7 @@ void fill_gap(read_closure *rc)
|
||||
PrintCLI(" \n");
|
||||
rc->highestWrittenSector = rc->intervalStart-1;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode) /* remove temporary fill markers */
|
||||
{ RemoveFillMarkers();
|
||||
SetAdaptiveReadSubtitle(rc->subtitle);
|
||||
@@ -1463,7 +1463,7 @@ void ReadMediumAdaptive(gpointer data)
|
||||
rc->earlyTermination = TRUE;
|
||||
|
||||
RegisterCleanup(_("Reading aborted"), cleanup, rc);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(Closure->readAdaptiveHeadline), "<big>%s</big>\n<i>%s</i>",
|
||||
_("Preparing for reading the medium image."),
|
||||
@@ -1528,7 +1528,7 @@ void ReadMediumAdaptive(gpointer data)
|
||||
|
||||
/*** Initialize segment state counters (only in GUI mode) */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ //rc->sectorsPerSegment = 1 + (rc->sectors / ADAPTIVE_READ_SPIRAL_SIZE);
|
||||
rc->sectorsPerSegment = ((rc->expectedSectors+ADAPTIVE_READ_SPIRAL_SIZE-1) / ADAPTIVE_READ_SPIRAL_SIZE);
|
||||
@@ -1552,7 +1552,7 @@ reopen_image:
|
||||
Stop(_("Can't open %s:\n%s"),Closure->imageName,strerror(errno));
|
||||
|
||||
PrintLog(_("Creating new %s image.\n"),Closure->imageName);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(Closure->readAdaptiveHeadline),
|
||||
"<big>%s</big>\n<i>%s</i>",
|
||||
@@ -1574,7 +1574,7 @@ reopen_image:
|
||||
else
|
||||
{ int reopen;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(Closure->readAdaptiveHeadline),
|
||||
"<big>%s</big>\n<i>%s</i>",
|
||||
@@ -1616,7 +1616,7 @@ reopen_image:
|
||||
|
||||
if(rc->readMode != IMAGE_ONLY)
|
||||
{ PrintLog("%s", t);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetAdaptiveReadFootline(t, Closure->greenText);
|
||||
#endif
|
||||
@@ -1637,7 +1637,7 @@ reopen_image:
|
||||
|
||||
/*** Read the medium image. */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetAdaptiveReadSubtitle(rc->subtitle);
|
||||
#endif
|
||||
@@ -1665,7 +1665,7 @@ reopen_image:
|
||||
for(s=rc->intervalStart; s<=rc->intervalEnd; ) /* s is incremented elsewhere */
|
||||
{ int nsectors,cnt;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* somebody hit the Stop button */
|
||||
{ if(Closure->guiMode)
|
||||
SetAdaptiveReadFootline(_("Aborted by user request!"), Closure->redText);
|
||||
@@ -1723,7 +1723,7 @@ reread:
|
||||
&& rc->dh->sense.sense_key
|
||||
&& rc->dh->sense.sense_key != 3 && rc->dh->sense.sense_key != 5)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int answer;
|
||||
|
||||
if(!Closure->guiMode)
|
||||
@@ -1732,7 +1732,7 @@ reread:
|
||||
"Use the --ignore-fatal-sense option to override."),
|
||||
s, GetLastSenseString(FALSE));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, insert_buttons,
|
||||
_("Sector %" PRId64 ": %s\n\n"
|
||||
"It may not be possible to recover from this error.\n"
|
||||
@@ -1802,7 +1802,7 @@ reread:
|
||||
Stop(_("Failed writing to sector %" PRId64 " in image [%s]: %s"),
|
||||
b, "unv", strerror(errno));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, b, Closure->yellowSector);
|
||||
#endif
|
||||
|
||||
@@ -1821,7 +1821,7 @@ reread:
|
||||
SetBit(rc->map, b);
|
||||
rc->readable++;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, b, Closure->greenSector);
|
||||
#endif
|
||||
|
||||
@@ -1876,7 +1876,7 @@ reread:
|
||||
&& !GetBit(rc->map, layer_idx))
|
||||
{ SetBit(rc->map, layer_idx);
|
||||
rc->correctable++;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, layer_idx, Closure->greenSector);
|
||||
#endif
|
||||
|
||||
@@ -1921,7 +1921,7 @@ reread:
|
||||
&& !GetBit(rc->map, sector))
|
||||
{ SetBit(rc->map, sector);
|
||||
rc->correctable++;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, sector, Closure->greenSector);
|
||||
#endif
|
||||
fill_correctable_gap(rc, sector);
|
||||
@@ -1948,7 +1948,7 @@ reread:
|
||||
print_progress(rc, TRUE);
|
||||
if(rc->readMode != IMAGE_ONLY)
|
||||
{ PrintLog("%s", t);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode && rc->ei)
|
||||
SetAdaptiveReadFootline(t, Closure->foreground);
|
||||
#endif
|
||||
@@ -1964,7 +1964,7 @@ reread:
|
||||
|
||||
PrintCLI("\n");
|
||||
if(nsectors>1) PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->status,
|
||||
#else
|
||||
NULL,
|
||||
@@ -1972,7 +1972,7 @@ NULL,
|
||||
_("Sectors %" PRId64 "-%" PRId64 ": %s\n"),
|
||||
s, s+nsectors-1, GetLastSenseString(FALSE));
|
||||
else PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->status,
|
||||
#else
|
||||
NULL,
|
||||
@@ -1996,7 +1996,7 @@ NULL,
|
||||
Stop(_("Failed writing to sector %" PRId64 " in image [%s]: %s"),
|
||||
s, "nds", strerror(errno));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
mark_sector(rc, s+i, Closure->redSector);
|
||||
#endif
|
||||
}
|
||||
@@ -2093,7 +2093,7 @@ finished:
|
||||
|
||||
/* Force output of final results */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ ChangeSpiralCursor(Closure->readAdaptiveSpiral, -1);
|
||||
mark_sector(rc, 0, NULL);
|
||||
@@ -2114,7 +2114,7 @@ finished:
|
||||
PrintLog(_("\n%s\n"
|
||||
"(%" PRId64 " readable, %" PRId64 " correctable, %" PRId64 " still missing).\n"),
|
||||
t, rc->readable, rc->correctable, rc->expectedSectors-total);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetAdaptiveReadFootline(t, Closure->foreground);
|
||||
#endif
|
||||
@@ -2129,7 +2129,7 @@ finished:
|
||||
{ if(rc->readable == rc->expectedSectors)
|
||||
{ char *t = _("\nGood! All sectors have been read.\n");
|
||||
PrintLog("%s", t);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetAdaptiveReadFootline(t, Closure->foreground);
|
||||
#endif
|
||||
@@ -2145,7 +2145,7 @@ finished:
|
||||
"%2d.%1d%% of the image have been read (%" PRId64 " sectors).\n"),
|
||||
t, percent/10, percent%10, rc->readable);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetAdaptiveReadFootline(t, Closure->foreground);
|
||||
#endif
|
||||
@@ -2166,7 +2166,7 @@ finished:
|
||||
|
||||
rc->earlyTermination = FALSE;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
terminate:
|
||||
#endif
|
||||
cleanup((gpointer)rc);
|
||||
|
||||
@@ -57,7 +57,7 @@ static void send_eof(read_closure *rc)
|
||||
|
||||
static void cleanup(gpointer data)
|
||||
{ read_closure *rc = (read_closure*)data;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int full_read = FALSE;
|
||||
int aborted = rc->earlyTermination;
|
||||
int scan_mode = rc->scanMode;
|
||||
@@ -73,7 +73,7 @@ static void cleanup(gpointer data)
|
||||
in that case. */
|
||||
|
||||
while(renderers_left
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
&& Closure->stopActions != STOP_SHUTDOWN_ALL
|
||||
#endif
|
||||
)
|
||||
@@ -112,14 +112,14 @@ static void cleanup(gpointer data)
|
||||
|
||||
/* Clean up reader thread */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(rc->image)
|
||||
full_read = (rc->readOK == rc->image->dh->sectors && !Closure->crcErrors);
|
||||
#endif
|
||||
|
||||
UnregisterCleanup();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(rc->unreportedError)
|
||||
SwitchAndSetFootline(Closure->readLinearNotebook, 1, Closure->readLinearFootline,
|
||||
@@ -173,7 +173,7 @@ static void cleanup(gpointer data)
|
||||
/* Continue with ecc file creation after read.
|
||||
NOTE: Images are NOT automatically augmented after a read. */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->readAndCreate && Closure->guiMode && !scan_mode && !aborted) /* General prerequisites */
|
||||
{ if( !strncmp(Closure->methodName, "RS01", 4) /* codec prerequisites */
|
||||
|| (!strncmp(Closure->methodName, "RS03", 4) && Closure->eccTarget == ECC_FILE) )
|
||||
@@ -211,7 +211,7 @@ static void register_reader(read_closure *rc)
|
||||
{
|
||||
if(rc->scanMode) /* Output messages differ in read and scan mode */
|
||||
{ RegisterCleanup(_("Scanning aborted"), cleanup, rc);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(Closure->readLinearHeadline),
|
||||
"<big>%s</big>\n<i>%s</i>",
|
||||
@@ -221,7 +221,7 @@ static void register_reader(read_closure *rc)
|
||||
}
|
||||
else
|
||||
{ RegisterCleanup(_("Reading aborted"), cleanup, rc);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(Closure->readLinearHeadline),
|
||||
"<big>%s</big>\n<i>%s</i>",
|
||||
@@ -252,7 +252,7 @@ static void determine_mode(read_closure *rc)
|
||||
rc->msg = g_strdup(_("Scanning medium for read errors."));
|
||||
|
||||
PrintLog("%s\n", rc->msg);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(rc->eccMethod)
|
||||
SetLabelText(GTK_LABEL(Closure->readLinearHeadline),
|
||||
@@ -267,7 +267,7 @@ static void determine_mode(read_closure *rc)
|
||||
|
||||
rc->readMarker = 0;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
InitializeCurve(rc, rc->image->dh->maxRate, rc->image->dh->canC2Scan);
|
||||
#endif
|
||||
@@ -277,7 +277,7 @@ static void determine_mode(read_closure *rc)
|
||||
|
||||
/*** If no image file exists, open a new one. */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
reopen_image:
|
||||
#endif
|
||||
if(!LargeStat(Closure->imageName, &image_size))
|
||||
@@ -291,7 +291,7 @@ reopen_image:
|
||||
Stop(_("Can't open %s:\n%s"),Closure->imageName,strerror(errno));
|
||||
|
||||
PrintLog(_("Creating new %s image.\n"),Closure->imageName);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(rc->eccMethod)
|
||||
SetLabelText(GTK_LABEL(Closure->readLinearHeadline),
|
||||
@@ -305,7 +305,7 @@ reopen_image:
|
||||
rc->rereading = FALSE;
|
||||
rc->readMarker = 0;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
InitializeCurve(rc, rc->image->dh->maxRate, rc->image->dh->canC2Scan);
|
||||
#endif
|
||||
@@ -354,11 +354,11 @@ reopen_image:
|
||||
|
||||
if(!unknown_fingerprint && memcmp(image_fp, medium_fp, 16))
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
Stop(_("Image file does not match the optical disc."));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ int answer = ConfirmImageDeletion(Closure->imageName);
|
||||
|
||||
@@ -388,18 +388,18 @@ reopen_image:
|
||||
{ PrintLog(_("Completing image %s. Continuing with sector %" PRId64 ".\n"),
|
||||
Closure->imageName, rc->readMarker);
|
||||
rc->firstSector = rc->readMarker;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->additionalSpiralColor = 0; /* blue */
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{ PrintLog(_("Completing image %s. Only missing sectors will be read.\n"), Closure->imageName);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->additionalSpiralColor = 3; /* dark green*/
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(Closure->readLinearHeadline),
|
||||
"<big>%s</big>\n<i>%s</i>",rc->msg,rc->image->dh->mediumDescr);
|
||||
@@ -463,7 +463,7 @@ static void prepare_crc_cache(read_closure *rc)
|
||||
|
||||
// FIXME: reuse CrcBuf and write respective message
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(Closure->readLinearHeadline),
|
||||
"<big>%s</big>\n<i>%s</i>",
|
||||
@@ -474,7 +474,7 @@ static void prepare_crc_cache(read_closure *rc)
|
||||
if(rc->eccMethod->getCrcBuf)
|
||||
{ Closure->crcBuf = rc->eccMethod->getCrcBuf(rc->image);
|
||||
Closure->crcBuf->crcCached = TRUE;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
RedrawReadLinearWindow();
|
||||
#endif
|
||||
@@ -493,7 +493,7 @@ static void prepare_crc_cache(read_closure *rc)
|
||||
rc->eccMethod->resetCksums(rc->image);
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(Closure->readLinearHeadline),
|
||||
"<big>%s</big>\n<i>%s</i>", rc->msg, rc->image->dh->mediumDescr);
|
||||
@@ -516,7 +516,7 @@ static void prepare_crc_cache(read_closure *rc)
|
||||
|
||||
static void prepare_timer(read_closure *rc)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode && Closure->spinupDelay)
|
||||
SwitchAndSetFootline(Closure->readLinearNotebook, 1, Closure->readLinearFootline,
|
||||
_("Waiting %d seconds for drive to spin up...\n"), Closure->spinupDelay);
|
||||
@@ -524,7 +524,7 @@ static void prepare_timer(read_closure *rc)
|
||||
|
||||
SpinupDevice(rc->image->dh);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode && Closure->spinupDelay)
|
||||
SwitchAndSetFootline(Closure->readLinearNotebook, 0, Closure->readLinearFootline, "ignore");
|
||||
#endif
|
||||
@@ -542,7 +542,7 @@ static void prepare_timer(read_closure *rc)
|
||||
static void show_progress(read_closure *rc)
|
||||
{ int percent;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode && rc->lastErrorsPrinted != Closure->readErrors)
|
||||
{ SetLabelText(GTK_LABEL(Closure->readLinearErrors),
|
||||
_("Unreadable / skipped sectors: %" PRId64 ""), Closure->readErrors);
|
||||
@@ -555,7 +555,7 @@ static void show_progress(read_closure *rc)
|
||||
|
||||
if(rc->lastPercent != percent)
|
||||
{ gulong ignore;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int color;
|
||||
|
||||
if(Closure->guiMode)
|
||||
@@ -564,7 +564,7 @@ static void show_progress(read_closure *rc)
|
||||
|
||||
if(rc->readOK <= rc->lastReadOK) /* nothing read since last sample? */
|
||||
{ rc->speed = 0.0;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->readErrors - rc->previousReadErrors > 0)
|
||||
color = 2;
|
||||
else if(Closure->crcErrors - rc->previousCRCErrors > 0)
|
||||
@@ -585,7 +585,7 @@ static void show_progress(read_closure *rc)
|
||||
double elapsed = g_timer_elapsed(rc->speedTimer, &ignore);
|
||||
double kb_sec = kb_read / elapsed;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->readErrors - rc->previousReadErrors > 0)
|
||||
color = 2;
|
||||
else if(Closure->crcErrors - rc->previousCRCErrors > 0)
|
||||
@@ -596,7 +596,7 @@ static void show_progress(read_closure *rc)
|
||||
if(rc->firstSpeedValue)
|
||||
{ rc->speed = kb_sec / rc->image->dh->singleRate;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ AddCurveValues(rc, rc->lastPercent, color, rc->maxC2);
|
||||
AddCurveValues(rc, percent, color, rc->maxC2);
|
||||
@@ -624,7 +624,7 @@ static void show_progress(read_closure *rc)
|
||||
cut_peaks=3;
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
AddCurveValues(rc, percent, color, rc->maxC2);
|
||||
#endif
|
||||
@@ -777,7 +777,7 @@ update_mutex:
|
||||
*** The reader part
|
||||
***/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
static void insert_buttons(GtkDialog *dialog)
|
||||
{
|
||||
gtk_dialog_add_buttons(dialog,
|
||||
@@ -888,7 +888,7 @@ void ReadMediumLinear(gpointer data)
|
||||
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SwitchAndSetFootline(Closure->readLinearNotebook, 1, Closure->readLinearFootline,
|
||||
_("<span %s>Aborted by user request!</span> %" PRId64 " sectors read, %" PRId64 " sectors unreadable/skipped so far."),
|
||||
Closure->redMarkup, rc->readOK,Closure->readErrors);
|
||||
@@ -901,7 +901,7 @@ void ReadMediumLinear(gpointer data)
|
||||
/*** See if user wants to limit the read range. */
|
||||
|
||||
GetReadingRange(rc->image->dh->sectors, &rc->firstSector, &rc->lastSector);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(rc->firstSector > 0) /* Mark skipped sectors */
|
||||
Closure->additionalSpiralColor = 0; /* blue */
|
||||
#endif
|
||||
@@ -969,7 +969,7 @@ next_reading_pass:
|
||||
break;
|
||||
}
|
||||
Closure->sectorSkip = 0;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
MarkExistingSectors();
|
||||
#endif
|
||||
@@ -989,7 +989,7 @@ next_reading_pass:
|
||||
while(rc->readPos<=rc->lastSector)
|
||||
{ int cluster_mask = rc->image->dh->clusterSize-1;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* somebody hit the Stop button */
|
||||
{
|
||||
if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
@@ -1102,7 +1102,7 @@ reread:
|
||||
if(status && !Closure->ignoreFatalSense
|
||||
&& rc->image->dh->sense.sense_key && rc->image->dh->sense.sense_key != 3 && rc->image->dh->sense.sense_key != 5)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int answer;
|
||||
|
||||
if(!Closure->guiMode)
|
||||
@@ -1111,7 +1111,7 @@ reread:
|
||||
"Use the --ignore-fatal-sense option to override."),
|
||||
rc->readPos, GetLastSenseString(FALSE));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, insert_buttons,
|
||||
_("Sector %" PRId64 ": %s\n\n"
|
||||
"It may not be possible to recover from this error.\n"
|
||||
@@ -1272,7 +1272,7 @@ reread:
|
||||
{ int i;
|
||||
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->status,
|
||||
#else
|
||||
NULL,
|
||||
@@ -1305,7 +1305,7 @@ NULL,
|
||||
}
|
||||
else
|
||||
{ PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Closure->status,
|
||||
#else
|
||||
NULL,
|
||||
@@ -1332,7 +1332,7 @@ step_counter:
|
||||
to checksum means we have ecc data - we can fix the image using ecc
|
||||
rather than by re-reading it. */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
ChangeSpiralCursor(Closure->readLinearSpiral, -1); /* switch cursor off */
|
||||
#endif
|
||||
@@ -1345,7 +1345,7 @@ step_counter:
|
||||
&& rc->pass < Closure->readingPasses)
|
||||
{ int renderers_left = TRUE;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(Closure->readLinearHeadline),
|
||||
_("<big>Trying to complete image, reading pass %d of %d.</big>\n%s"),
|
||||
@@ -1435,7 +1435,7 @@ step_counter:
|
||||
}
|
||||
|
||||
PrintLog("\n%s\n",t);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(rc->scanMode) SwitchAndSetFootline(Closure->readLinearNotebook, 1, Closure->readLinearFootline,
|
||||
"%s%s",_("Scanning finished: "),t);
|
||||
@@ -1451,7 +1451,7 @@ step_counter:
|
||||
if(rc->image->dh->mainType == CD && tao_tail && tao_tail == Closure->readErrors && !Closure->noTruncate)
|
||||
{ int answer;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
answer = ModalWarningOrCLI(GTK_MESSAGE_WARNING, GTK_BUTTONS_OK_CANCEL, NULL,
|
||||
_("%d sectors missing at the end of the disc.\n"
|
||||
|
||||
@@ -207,7 +207,7 @@ void RS01ReadSector(Image *image, unsigned char *buf, gint64 s)
|
||||
|
||||
void RS01ScanImage(Method *method, Image* image, struct MD5Context *ecc_ctxt, int mode)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS01Widgets *wl = NULL;
|
||||
#endif
|
||||
unsigned char buf[2048];
|
||||
@@ -216,7 +216,7 @@ void RS01ScanImage(Method *method, Image* image, struct MD5Context *ecc_ctxt, in
|
||||
int crcidx = 0;
|
||||
struct MD5Context image_md5;
|
||||
gint64 s, first_missing, last_missing;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
gint64 prev_missing = 0;
|
||||
gint64 prev_crc_errors = 0;
|
||||
#endif
|
||||
@@ -225,7 +225,7 @@ void RS01ScanImage(Method *method, Image* image, struct MD5Context *ecc_ctxt, in
|
||||
|
||||
/* Extract widget list from method */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(method->widgetList)
|
||||
wl = (RS01Widgets*)method->widgetList;
|
||||
#endif
|
||||
@@ -263,7 +263,7 @@ void RS01ScanImage(Method *method, Image* image, struct MD5Context *ecc_ctxt, in
|
||||
|
||||
/* Check for user interruption */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{ image->sectorsMissing += image->sectorSize - s;
|
||||
if(crcbuf) g_free(crcbuf);
|
||||
@@ -361,7 +361,7 @@ void RS01ScanImage(Method *method, Image* image, struct MD5Context *ecc_ctxt, in
|
||||
|
||||
MD5Update(&image_md5, buf, n); /* update image md5sum */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode && mode & PRINT_MODE)
|
||||
percent = (VERIFY_IMAGE_SEGMENTS*(s+1))/image->sectorSize;
|
||||
else
|
||||
@@ -370,7 +370,7 @@ void RS01ScanImage(Method *method, Image* image, struct MD5Context *ecc_ctxt, in
|
||||
if(last_percent != percent)
|
||||
{ PrintProgress(msg,percent);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode && mode & CREATE_CRC)
|
||||
SetProgress(wl->encPBar1, percent, 100);
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ static int calculate_redundancy(char *image_name)
|
||||
*** Remove the image file
|
||||
***/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
static void unlink_image(GtkWidget *label)
|
||||
#else
|
||||
static void unlink_image(void *label)
|
||||
@@ -106,7 +106,7 @@ static void unlink_image(void *label)
|
||||
if(LargeUnlink(Closure->imageName))
|
||||
{ PrintLog(_("\nImage file %s deleted.\n"),Closure->imageName);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(label),
|
||||
_("\nImage file %s deleted.\n"), Closure->imageName);
|
||||
@@ -114,7 +114,7 @@ static void unlink_image(void *label)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintLog("\n");
|
||||
@@ -135,7 +135,7 @@ static void unlink_image(void *label)
|
||||
|
||||
typedef struct
|
||||
{ Method *self;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS01Widgets *wl;
|
||||
#endif
|
||||
GaloisTables *gt;
|
||||
@@ -153,7 +153,7 @@ static void ecc_cleanup(gpointer data)
|
||||
|
||||
UnregisterCleanup();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(ec->earlyTermination)
|
||||
SetLabelText(GTK_LABEL(ec->wl->encFootline),
|
||||
@@ -176,14 +176,14 @@ static void ecc_cleanup(gpointer data)
|
||||
|
||||
if(Closure->enableCurveSwitch)
|
||||
{ Closure->enableCurveSwitch = FALSE;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS01ShowCurveButton(ec->self);
|
||||
#endif
|
||||
}
|
||||
|
||||
g_free(ec);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -197,7 +197,7 @@ enum { NORMAL, HIGH, GENERIC };
|
||||
|
||||
void RS01Create(void)
|
||||
{ Method *self = FindMethod("RS01");
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS01Widgets *wl = (RS01Widgets*)self->widgetList;
|
||||
#endif
|
||||
GaloisTables *gt;
|
||||
@@ -224,7 +224,7 @@ void RS01Create(void)
|
||||
/*** Register the cleanup procedure for GUI mode */
|
||||
|
||||
ec->self = self;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
ec->wl = wl;
|
||||
#endif
|
||||
ec->earlyTermination = TRUE;
|
||||
@@ -255,7 +255,7 @@ void RS01Create(void)
|
||||
nroots,
|
||||
((double)nroots*100.0)/(double)ndata);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->encHeadline),
|
||||
_("<big>Creating the error correction file.</big>\n<i>%s</i>"), ec->msg);
|
||||
@@ -269,7 +269,7 @@ void RS01Create(void)
|
||||
{
|
||||
if(ConfirmEccDeletion(Closure->eccName))
|
||||
LargeUnlink(Closure->eccName);
|
||||
#ifndef CLI /* ConfirmEccDeletion always return true if CLI */
|
||||
#ifndef WITH_CLI_ONLY_YES /* ConfirmEccDeletion always return true if CLI */
|
||||
else
|
||||
{ SetLabelText(GTK_LABEL(ec->wl->encFootline),
|
||||
_("<span %s>Aborted to keep existing ecc file.</span>"),
|
||||
@@ -311,7 +311,7 @@ void RS01Create(void)
|
||||
int percent, last_percent = 0;
|
||||
char *msg = _("Writing sector checksums: %3d%%");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->encLabel1),
|
||||
_("<b>1. Writing image sector checksums:</b>"));
|
||||
@@ -346,7 +346,7 @@ void RS01Create(void)
|
||||
if(last_percent != percent)
|
||||
{ PrintProgress(msg,percent);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(wl->encPBar1, percent, 100);
|
||||
#endif
|
||||
@@ -363,7 +363,7 @@ void RS01Create(void)
|
||||
Checksums are only computed locally and not provided in the cache. */
|
||||
else
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->encLabel1),
|
||||
_("<b>1. Calculating image sector checksums:</b>"));
|
||||
@@ -380,7 +380,7 @@ void RS01Create(void)
|
||||
|
||||
LargeUnlink(Closure->eccName); /* Do not leave a CRC-only .ecc file behind */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{
|
||||
if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
@@ -393,7 +393,7 @@ void RS01Create(void)
|
||||
else
|
||||
#endif
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(wl->encPBar1, 100, 100);
|
||||
#endif
|
||||
@@ -405,7 +405,7 @@ void RS01Create(void)
|
||||
|
||||
PrintTimeToLog(ec->timer, "for CRC writing/generation.\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetProgress(wl->encPBar1, 100, 100);
|
||||
ShowWidget(wl->encPBar2);
|
||||
@@ -531,7 +531,7 @@ void RS01Create(void)
|
||||
{ int offset = 0;
|
||||
unsigned char *par_idx = ec->parity;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* User hit the Stop button */
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(wl->encFootline),
|
||||
@@ -611,7 +611,7 @@ void RS01Create(void)
|
||||
percent = (1000*progress)/max_percent;
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(wl->encPBar2, percent, 1000);
|
||||
else
|
||||
@@ -629,7 +629,7 @@ void RS01Create(void)
|
||||
{ int offset = 0;
|
||||
unsigned char *par_idx = ec->parity;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* User hit the Stop button */
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(wl->encFootline),
|
||||
@@ -741,7 +741,7 @@ void RS01Create(void)
|
||||
percent = (1000*progress)/max_percent;
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(wl->encPBar2, percent, 1000);
|
||||
else
|
||||
@@ -762,7 +762,7 @@ void RS01Create(void)
|
||||
{ int offset = 0;
|
||||
unsigned char *par_idx = ec->parity;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* User hit the Stop button */
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(wl->encFootline),
|
||||
@@ -1041,7 +1041,7 @@ void RS01Create(void)
|
||||
percent = (1000*progress)/max_percent;
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(wl->encPBar2, percent, 1000);
|
||||
else
|
||||
@@ -1087,7 +1087,7 @@ void RS01Create(void)
|
||||
"Make sure to keep this file on a reliable medium.\n"),
|
||||
Closure->eccName);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetProgress(wl->encPBar2, 100, 100);
|
||||
|
||||
@@ -1103,7 +1103,7 @@ void RS01Create(void)
|
||||
if(Closure->unlinkImage)
|
||||
{ if(ec->image) CloseImage(ec->image);
|
||||
ec->image = NULL;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
unlink_image(Closure->guiMode ? wl->encFootline2 : NULL);
|
||||
#else
|
||||
unlink_image(NULL);
|
||||
@@ -1114,7 +1114,7 @@ void RS01Create(void)
|
||||
|
||||
ec->earlyTermination = FALSE;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
terminate:
|
||||
#endif
|
||||
ecc_cleanup((gpointer)ec);
|
||||
|
||||
@@ -55,7 +55,7 @@ static void read_crc(LargeFile *ecc, guint32 *buf, int first_sector, int n_secto
|
||||
|
||||
typedef struct
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS01Widgets *wl;
|
||||
#endif
|
||||
GaloisTables *gt;
|
||||
@@ -73,7 +73,7 @@ static void fix_cleanup(gpointer data)
|
||||
|
||||
UnregisterCleanup();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(fc->earlyTermination)
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
@@ -101,7 +101,7 @@ static void fix_cleanup(gpointer data)
|
||||
|
||||
g_free(fc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -113,7 +113,7 @@ static void fix_cleanup(gpointer data)
|
||||
|
||||
void RS01Fix(Image *image)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Method *method = FindMethod("RS01");
|
||||
RS01Widgets *wl = (RS01Widgets*)method->widgetList;
|
||||
#endif
|
||||
@@ -141,7 +141,7 @@ void RS01Fix(Image *image)
|
||||
/*** Register the cleanup procedure for GUI mode */
|
||||
|
||||
fc->image = image;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
fc->wl = wl;
|
||||
#endif
|
||||
fc->earlyTermination = TRUE;
|
||||
@@ -155,7 +155,7 @@ void RS01Fix(Image *image)
|
||||
eh->eccBytes,
|
||||
((double)eh->eccBytes*100.0)/(double)eh->dataBytes);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->fixHeadline),
|
||||
_("<big>Repairing the image.</big>\n<i>%s</i>"),fc->msg);
|
||||
@@ -213,7 +213,7 @@ void RS01Fix(Image *image)
|
||||
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
fc->wl->fixFootline,
|
||||
_("<span %s>Aborted by user request!</span>"),
|
||||
@@ -230,7 +230,7 @@ void RS01Fix(Image *image)
|
||||
Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno));
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(diff>2 && Closure->guiMode)
|
||||
{ int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL,
|
||||
trans,
|
||||
@@ -257,7 +257,7 @@ void RS01Fix(Image *image)
|
||||
#endif
|
||||
|
||||
if(diff>2 &&
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
!Closure->guiMode)
|
||||
#else
|
||||
1)
|
||||
@@ -281,7 +281,7 @@ void RS01Fix(Image *image)
|
||||
if(image->sectorSize == image->expectedSectors && image->inLast > eh->inLast)
|
||||
{ int difference = image->inLast - eh->inLast;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL,
|
||||
_("The image file is %d bytes longer than noted\n"
|
||||
@@ -300,7 +300,7 @@ void RS01Fix(Image *image)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode && !Closure->truncate)
|
||||
#else
|
||||
if(!Closure->truncate)
|
||||
@@ -326,7 +326,7 @@ void RS01Fix(Image *image)
|
||||
"Consider completing it with another reading pass before going on.\n"));
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
fc->wl->fixFootline,
|
||||
_("<span %s>Aborted by user request!</span>"),
|
||||
@@ -346,7 +346,7 @@ void RS01Fix(Image *image)
|
||||
eh->fpSector);
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
fc->wl->fixFootline,
|
||||
_("<span %s>Aborted by user request!</span>"),
|
||||
@@ -399,7 +399,7 @@ void RS01Fix(Image *image)
|
||||
|
||||
for(si=0; si<s; si++)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* User hit the Stop button */
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
@@ -473,7 +473,7 @@ void RS01Fix(Image *image)
|
||||
|
||||
if(erasure_count>nroots) /* uncorrectable */
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
{ PrintCLI(_("* %3d unrepairable sectors: "), erasure_count);
|
||||
@@ -785,7 +785,7 @@ skip:
|
||||
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{
|
||||
RS01AddFixValues(wl, percent, local_plot_max);
|
||||
@@ -811,7 +811,7 @@ skip:
|
||||
if(corrected > 0) PrintLog(_("Repaired sectors: %" PRId64 " \n"),corrected);
|
||||
if(uncorrected > 0)
|
||||
{ PrintLog(_("Unrepaired sectors: %" PRId64 "\n"), uncorrected);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->fixNotebook, 1, wl->fixFootline,
|
||||
_("Image sectors could not be fully restored "
|
||||
@@ -833,7 +833,7 @@ skip:
|
||||
PrintLog(_("Erasure counts per ecc block: avg = %.1f; worst = %d.\n"),
|
||||
(double)damaged_sec/(double)damaged_ecc,worst_ecc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode && t)
|
||||
SwitchAndSetFootline(wl->fixNotebook, 1, wl->fixFootline,
|
||||
"%s %s", _("Repair results:"), t);
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#ifndef RS01INCLUDES_H
|
||||
#define RS01INCLUDES_H
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/* Data structs from rs01-window.c */
|
||||
|
||||
typedef struct
|
||||
@@ -107,7 +107,7 @@ typedef struct
|
||||
{ struct MD5Context md5ctxt; /* Complete image checksum */
|
||||
} RS01CksumClosure;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/*
|
||||
* These are exported via the Method struct
|
||||
*/
|
||||
@@ -159,7 +159,7 @@ void RS01Create(void);
|
||||
|
||||
void RS01Fix(Image*);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/* rs01-window.c */
|
||||
|
||||
void RS01AddFixValues(RS01Widgets*, int, int);
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include "rs01-includes.h"
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
|
||||
/***
|
||||
*** Reset the verify output window
|
||||
@@ -356,7 +356,7 @@ static void cleanup(gpointer data)
|
||||
|
||||
UnregisterCleanup();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
AllowActions(TRUE);
|
||||
#endif
|
||||
@@ -364,7 +364,7 @@ static void cleanup(gpointer data)
|
||||
if(vc->image) CloseImage(vc->image);
|
||||
g_free(vc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -373,12 +373,12 @@ static void cleanup(gpointer data)
|
||||
void RS01Verify(Image *image)
|
||||
{ verify_closure *vc = g_malloc0(sizeof(verify_closure));
|
||||
Method *self = FindMethod("RS01");
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS01Widgets *wl = (RS01Widgets*)self->widgetList;
|
||||
#endif
|
||||
char idigest[33],edigest[33];
|
||||
gint64 excess_sectors = 0;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
char *ecc_advice = NULL;
|
||||
#endif
|
||||
|
||||
@@ -399,7 +399,7 @@ void RS01Verify(Image *image)
|
||||
|
||||
/*** Examine the .iso file */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpHeadline), "<big>%s</big>\n<i>%s</i>",
|
||||
_("Comparing image and error correction files."),
|
||||
@@ -407,7 +407,7 @@ void RS01Verify(Image *image)
|
||||
#endif
|
||||
|
||||
vc->image = image;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(image && image->eccFile)
|
||||
{ if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpChkSumErrors), "0");
|
||||
@@ -423,7 +423,7 @@ void RS01Verify(Image *image)
|
||||
if(!image || !image->file)
|
||||
{ PrintLog(_("not present\n"));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->cmpImageNotebook, 0, NULL, NULL);
|
||||
#endif
|
||||
@@ -432,7 +432,7 @@ void RS01Verify(Image *image)
|
||||
|
||||
if(image->inLast == 2048)
|
||||
{ PrintLog(_("present, contains %" PRId64 " medium sectors.\n"), image->sectorSize);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageSectors), "%" PRId64 "", image->sectorSize);
|
||||
#endif
|
||||
@@ -440,7 +440,7 @@ void RS01Verify(Image *image)
|
||||
else
|
||||
{ PrintLog(_("present, contains %" PRId64 " medium sectors and %d bytes.\n"),
|
||||
image->sectorSize-1, image->inLast);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageSectors), _("%" PRId64 " sectors + %d bytes"),
|
||||
image->sectorSize-1, image->inLast);
|
||||
@@ -450,7 +450,7 @@ void RS01Verify(Image *image)
|
||||
if(!Closure->quickVerify)
|
||||
RS01ScanImage(self, image, NULL, PRINT_MODE);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageResult),
|
||||
@@ -469,7 +469,7 @@ void RS01Verify(Image *image)
|
||||
{ diff = image->expectedSectors - image->sectorSize;
|
||||
|
||||
PrintLog(_("* truncated image : %" PRId64 " sectors too short\n"), diff);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageSectors),
|
||||
_("<span %s>%" PRId64 " (%" PRId64 " sectors too short)</span>"),
|
||||
@@ -484,7 +484,7 @@ void RS01Verify(Image *image)
|
||||
|
||||
/*** Show summary of image read */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(image->crcErrors)
|
||||
SetLabelText(GTK_LABEL(wl->cmpChkSumErrors),
|
||||
@@ -497,7 +497,7 @@ void RS01Verify(Image *image)
|
||||
|
||||
if(excess_sectors)
|
||||
{ PrintLog(_("* image too long : %" PRId64 " excess sectors\n"), excess_sectors);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpImageSectors),
|
||||
_("<span %s>%" PRId64 " (%" PRId64 " excess sectors)</span>"),
|
||||
@@ -519,7 +519,7 @@ void RS01Verify(Image *image)
|
||||
if(!image->crcErrors)
|
||||
{ PrintLog(_("- good image : all sectors present\n"
|
||||
"- image md5sum : %s\n"),idigest);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpImageResult),_("<span %s>Good image.</span>"), Closure->greenMarkup);
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageMd5Sum), "%s", idigest);
|
||||
@@ -530,7 +530,7 @@ void RS01Verify(Image *image)
|
||||
{ PrintLog(_("* suspicious image : all sectors present, but %" PRId64 " CRC errors\n"
|
||||
"- image md5sum : %s\n"),image->crcErrors,idigest);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpImageResult), _("<span %s>Image complete, but contains checksum errors!</span>"), Closure->redMarkup);
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageMd5Sum), "%s", idigest);
|
||||
@@ -543,7 +543,7 @@ void RS01Verify(Image *image)
|
||||
PrintLog(_("* BAD image : %" PRId64 " sectors missing\n"), image->sectorsMissing);
|
||||
else PrintLog(_("* BAD image : %" PRId64 " sectors missing, %" PRId64 " CRC errors\n"),
|
||||
image->sectorsMissing, image->crcErrors);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageResult),
|
||||
_("<span %s>Bad image.</span>"), Closure->redMarkup);
|
||||
@@ -554,7 +554,7 @@ void RS01Verify(Image *image)
|
||||
/*** The .ecc file */
|
||||
|
||||
process_ecc:
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpHeadline), "<big>%s</big>\n<i>%s</i>",
|
||||
_("Comparing image and error correction files."),
|
||||
@@ -565,7 +565,7 @@ process_ecc:
|
||||
|
||||
if(!image)
|
||||
{ PrintLog(_("not present\n"));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->cmpEccNotebook, 0,
|
||||
wl->cmpEccEmptyMsg,_("No error correction file present."));
|
||||
@@ -595,7 +595,7 @@ process_ecc:
|
||||
PrintLog(_("unusable\n"));
|
||||
break;
|
||||
}
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->cmpEccNotebook, 0,
|
||||
wl->cmpEccEmptyMsg,_("No error correction file present."));
|
||||
@@ -625,7 +625,7 @@ process_ecc:
|
||||
PrintLog(format, _("created by dvdisaster"), major, minor, micro, unstable);
|
||||
PrintLog("\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SwitchAndSetFootline(wl->cmpEccNotebook, 1,
|
||||
wl->cmpEccCreatedBy,
|
||||
@@ -639,7 +639,7 @@ process_ecc:
|
||||
PrintLog(format, _("created by dvdisaster"),
|
||||
major, minor, unstable);
|
||||
PrintLog("\n");
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->cmpEccNotebook, 1,
|
||||
wl->cmpEccCreatedBy, format, "dvdisaster",
|
||||
@@ -649,7 +649,7 @@ process_ecc:
|
||||
}
|
||||
else
|
||||
{ PrintLog(_("created by dvdisaster-0.41.x.\n"));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->cmpEccNotebook, 1,
|
||||
wl->cmpEccCreatedBy, "dvdisaster-0.41.x");
|
||||
@@ -663,7 +663,7 @@ process_ecc:
|
||||
PrintLog(_("- method : %4s, %d roots, %4.1f%% redundancy.\n"),
|
||||
method, eh->eccBytes,
|
||||
((double)eh->eccBytes*100.0)/(double)eh->dataBytes);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMethod), _("%4s, %d roots, %4.1f%% redundancy"),
|
||||
method, eh->eccBytes,
|
||||
@@ -676,7 +676,7 @@ process_ecc:
|
||||
{ PrintLog(_("- requires : dvdisaster-%d.%d (good)\n"),
|
||||
eh->neededVersion/10000,
|
||||
(eh->neededVersion%10000)/100);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccRequires), "dvdisaster-%d.%d",
|
||||
eh->neededVersion/10000,
|
||||
@@ -690,7 +690,7 @@ process_ecc:
|
||||
eh->neededVersion/10000,
|
||||
(eh->neededVersion%10000)/100);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccRequires),
|
||||
"<span %s>dvdisaster-%d.%d</span>",
|
||||
@@ -712,7 +712,7 @@ process_ecc:
|
||||
if(!image->file)
|
||||
{ if(!ecc_in_last)
|
||||
{ PrintLog(_("- medium sectors : %" PRId64 "\n"), image->expectedSectors);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMediumSectors), "%" PRId64 "", image->expectedSectors);
|
||||
#endif
|
||||
@@ -720,7 +720,7 @@ process_ecc:
|
||||
else
|
||||
{ PrintLog(_("- medium sectors : %" PRId64 " sectors + %d bytes\n"),
|
||||
image->expectedSectors-1, ecc_in_last);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMediumSectors),
|
||||
_("%" PRId64 " sectors + %d bytes"),
|
||||
@@ -735,7 +735,7 @@ process_ecc:
|
||||
&& (!ecc_in_last || image->inLast == eh->inLast))
|
||||
{ if(!ecc_in_last)
|
||||
{ PrintLog(_("- medium sectors : %" PRId64 " (good)\n"), image->expectedSectors);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMediumSectors), "%" PRId64 "", image->expectedSectors);
|
||||
#endif
|
||||
@@ -743,7 +743,7 @@ process_ecc:
|
||||
else
|
||||
{ PrintLog(_("- medium sectors : %" PRId64 " sectors + %d bytes (good)\n"),
|
||||
image->expectedSectors-1, ecc_in_last);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMediumSectors),
|
||||
_("%" PRId64 " sectors + %d bytes"),
|
||||
@@ -756,7 +756,7 @@ process_ecc:
|
||||
{ /* TAO case (1 or 2 sectors more than expected) */
|
||||
if(image->sectorSize > image->expectedSectors && image->sectorSize - image->expectedSectors <= 2)
|
||||
{ PrintLog(_("* medium sectors : %" PRId64 " (BAD, perhaps TAO/DAO mismatch)\n"), image->expectedSectors);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(!ecc_in_last)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMediumSectors), "<span %s>%" PRId64 "</span>",
|
||||
@@ -769,7 +769,7 @@ process_ecc:
|
||||
else /* more than 2 Sectors difference */
|
||||
{ if(!ecc_in_last)
|
||||
{ PrintLog(_("* medium sectors : %" PRId64 " (BAD)\n"), image->expectedSectors);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccMediumSectors), "<span %s>%" PRId64 "</span>",
|
||||
Closure->redMarkup, image->expectedSectors);
|
||||
@@ -781,7 +781,7 @@ process_ecc:
|
||||
else /* byte size difference */
|
||||
{ PrintLog(_("* medium sectors : %" PRId64 " sectors + %d bytes (BAD)\n"),
|
||||
image->expectedSectors-1, ecc_in_last);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccMediumSectors),
|
||||
_("<span %s>%" PRId64 " sectors + %d bytes</span>"),
|
||||
@@ -803,7 +803,7 @@ process_ecc:
|
||||
{ int n = !memcmp(eh->mediumSum, image->mediumSum, 16);
|
||||
if(n) PrintLog(_("- image md5sum : %s (good)\n"),edigest);
|
||||
else PrintLog(_("* image md5sum : %s (BAD)\n"),edigest);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(n) SetLabelText(GTK_LABEL(wl->cmpEccImgMd5Sum), "%s", edigest);
|
||||
else
|
||||
@@ -815,7 +815,7 @@ process_ecc:
|
||||
}
|
||||
else
|
||||
{ PrintLog(_("- image md5sum : %s\n"),edigest);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccImgMd5Sum), "%s", edigest);
|
||||
#endif
|
||||
@@ -825,7 +825,7 @@ process_ecc:
|
||||
if(image && image->file)
|
||||
{ if(image->fpState != FP_PRESENT)
|
||||
{ PrintLog(_("* fingerprint match: NOT POSSIBLE - related sector is missing in image!\n"));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccFingerprint), _("<span %s>missing sector prevents calculation</span>"), Closure->redMarkup);
|
||||
#endif
|
||||
@@ -835,7 +835,7 @@ process_ecc:
|
||||
if(memcmp(image->imageFP, eh->mediumFP, 16))
|
||||
{ PrintLog(_("* fingerprint match: MISMATCH - .iso and .ecc don't belong together!\n"));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccFingerprint),
|
||||
_("<span %s>mismatch</span>"), Closure->redMarkup);
|
||||
@@ -847,7 +847,7 @@ process_ecc:
|
||||
}
|
||||
else
|
||||
{ PrintLog(_("- fingerprint match: good\n"));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccFingerprint), _("good"));
|
||||
#endif
|
||||
@@ -867,14 +867,14 @@ process_ecc:
|
||||
|
||||
if(ecc_expected == ecc_blocks)
|
||||
{ PrintLog(_("- ecc blocks : %" PRId64 " (good)\n"),ecc_blocks);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccBlocks), "%" PRId64 "", ecc_blocks);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{ PrintLog(_("* ecc blocks : %" PRId64 " (BAD, expected %" PRId64 ")\n"),ecc_blocks,ecc_expected);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccBlocks), _("<span %s>%" PRId64 " (bad, expected %" PRId64 ")</span>"),Closure->redMarkup,ecc_blocks,ecc_expected);
|
||||
#endif
|
||||
@@ -899,17 +899,17 @@ process_ecc:
|
||||
percent = (100*count)/image->eccFile->size;
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintProgress(_("- ecc md5sum : %3d%%"),percent);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else SetLabelText(GTK_LABEL(wl->cmpEccMd5Sum), "%3d%%", percent);
|
||||
#endif
|
||||
last_percent = percent;
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccResult),
|
||||
@@ -924,7 +924,7 @@ process_ecc:
|
||||
|
||||
if(memcmp(eh->eccSum, digest, 16))
|
||||
{ PrintLog(_("* ecc md5sum : BAD, ecc file may be damaged!\n"));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccMd5Sum), _("<span %s>bad</span>"), Closure->redMarkup);
|
||||
if(!ecc_advice)
|
||||
@@ -934,7 +934,7 @@ process_ecc:
|
||||
}
|
||||
else
|
||||
{ PrintLog(_("- ecc md5sum : %s (good)\n"),edigest);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMd5Sum), "%s", edigest);
|
||||
#endif
|
||||
@@ -943,7 +943,7 @@ process_ecc:
|
||||
skip_ecc:
|
||||
PrintLog("\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(ecc_advice)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccResult), "%s", ecc_advice);
|
||||
|
||||
@@ -432,7 +432,7 @@ RS02Layout *CalcRS02Layout(Image *image)
|
||||
|
||||
/* See if user wants to pick a certain redundancy */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode && Closure->redundancy)
|
||||
#else
|
||||
if(Closure->redundancy)
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
typedef struct
|
||||
{ Image *image;
|
||||
Method *self;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS02Widgets *wl;
|
||||
#endif
|
||||
RS02Layout *lay;
|
||||
@@ -56,7 +56,7 @@ static void ecc_cleanup(gpointer data)
|
||||
|
||||
UnregisterCleanup();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(ec->earlyTermination && ec->wl)
|
||||
SetLabelText(GTK_LABEL(ec->wl->encFootline),
|
||||
@@ -92,7 +92,7 @@ static void ecc_cleanup(gpointer data)
|
||||
|
||||
g_free(ec);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -108,7 +108,7 @@ static void ecc_cleanup(gpointer data)
|
||||
|
||||
static void abort_encoding(ecc_closure *ec, int truncate)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS02Widgets *wl = ec->wl;
|
||||
#endif
|
||||
|
||||
@@ -116,14 +116,14 @@ static void abort_encoding(ecc_closure *ec, int truncate)
|
||||
{ if(!LargeTruncate(ec->image->file, (gint64)(2048*ec->lay->dataSectors)))
|
||||
Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions == STOP_CURRENT_ACTION)
|
||||
SetLabelText(GTK_LABEL(wl->encFootline),
|
||||
_("<span %s>Aborted by user request!</span> (partial ecc data removed from image)"),
|
||||
Closure->redMarkup);
|
||||
#endif
|
||||
}
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION)
|
||||
SetLabelText(GTK_LABEL(wl->encFootline),
|
||||
@@ -149,14 +149,14 @@ static void remove_old_ecc(ecc_closure *ec)
|
||||
guint64 data_bytes;
|
||||
int answer;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->confirmDeletion || !Closure->guiMode)
|
||||
#endif
|
||||
answer = ModalWarningOrCLI(GTK_MESSAGE_WARNING, GTK_BUTTONS_OK_CANCEL, NULL,
|
||||
_("Image \"%s\" already contains error correction information.\n"
|
||||
"Truncating image to data part (%" PRId64 " sectors).\n"),
|
||||
Closure->imageName, data_sectors);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else answer = TRUE;
|
||||
#endif
|
||||
|
||||
@@ -213,7 +213,7 @@ static void check_image(ecc_closure *ec)
|
||||
{ unsigned char buf[2048];
|
||||
int expected,n,err;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* User hit the Stop button */
|
||||
abort_encoding(ec, FALSE);
|
||||
#endif
|
||||
@@ -256,7 +256,7 @@ static void check_image(ecc_closure *ec)
|
||||
if(last_percent != percent)
|
||||
{ PrintProgress(_("Preparing image (checksums, adding space): %3d%%") ,percent);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(ec->wl->encPBar1, percent, 100);
|
||||
#endif
|
||||
@@ -308,7 +308,7 @@ static void expand_image(ecc_closure *ec)
|
||||
{ unsigned char buf[2048];
|
||||
int n;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* User hit the Stop button */
|
||||
abort_encoding(ec, TRUE);
|
||||
#endif
|
||||
@@ -326,7 +326,7 @@ static void expand_image(ecc_closure *ec)
|
||||
PrintProgress(_("Preparing image (checksums taken from cache, adding space): %3d%%") ,percent);
|
||||
else PrintProgress(_("Preparing image (checksums, adding space): %3d%%"), percent);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(ec->wl->encPBar1, percent, 100);
|
||||
#endif
|
||||
@@ -340,7 +340,7 @@ static void expand_image(ecc_closure *ec)
|
||||
else PrintProgress(_("Preparing image (checksums, adding space): %3d%%"), 100);
|
||||
PrintProgress("\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(ec->wl->encPBar1, 100, 100);
|
||||
#endif
|
||||
@@ -495,7 +495,7 @@ static gint32 *enc_alpha_to;
|
||||
|
||||
/*** Show the second progress bar */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ ShowWidget(ec->wl->encPBar2);
|
||||
ShowWidget(ec->wl->encLabel2);
|
||||
@@ -607,7 +607,7 @@ static gint32 *enc_alpha_to;
|
||||
{ int offset = 0;
|
||||
unsigned char *par_idx = ec->parity;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* User hit the Stop button */
|
||||
abort_encoding(ec, TRUE);
|
||||
#endif
|
||||
@@ -997,7 +997,7 @@ static gint32 *enc_alpha_to;
|
||||
percent = (1000*progress)/max_percent;
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(ec->wl->encPBar2, percent, 1000);
|
||||
else
|
||||
@@ -1060,7 +1060,7 @@ static gint32 *enc_alpha_to;
|
||||
|
||||
void RS02Create(void)
|
||||
{ Method *self = FindMethod("RS02");
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS02Widgets *wl = (RS02Widgets*)self->widgetList;
|
||||
#endif
|
||||
Image *image = NULL;
|
||||
@@ -1090,13 +1090,13 @@ void RS02Create(void)
|
||||
|
||||
ec->image = image;
|
||||
ec->self = self;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
ec->wl = wl;
|
||||
#endif
|
||||
ec->eh = g_malloc0(sizeof(EccHeader));
|
||||
ec->timer = g_timer_new();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode) /* Preliminary fill text for the head line */
|
||||
SetLabelText(GTK_LABEL(wl->encHeadline),
|
||||
_("<big>Augmenting the image with error correction data.</big>\n<i>%s</i>"),
|
||||
@@ -1113,7 +1113,7 @@ void RS02Create(void)
|
||||
|
||||
/*** Announce what we are going to do */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode) /* Preliminary fill text for the head line */
|
||||
{ ec->msg = g_strdup_printf(_("Encoding with Method RS02: %" PRId64 " MiB data, %" PRId64 " MiB ecc (%d roots; %4.1f%% redundancy)."),
|
||||
lay->dataSectors/512, lay->eccSectors/512, lay->nroots, lay->redundancy);
|
||||
@@ -1180,7 +1180,7 @@ void RS02Create(void)
|
||||
(lay->dataSectors + lay->eccSectors)/512,
|
||||
lay->dataSectors+lay->eccSectors);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetProgress(wl->encPBar2, 100, 100);
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
typedef struct
|
||||
{ Image *image;
|
||||
EccHeader *eh;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS02Widgets *wl;
|
||||
#endif
|
||||
RS02Layout *lay;
|
||||
@@ -49,7 +49,7 @@ static void fix_cleanup(gpointer data)
|
||||
|
||||
UnregisterCleanup();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(fc->earlyTermination)
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
@@ -77,7 +77,7 @@ static void fix_cleanup(gpointer data)
|
||||
|
||||
g_free(fc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -111,7 +111,7 @@ static void expand_image(fix_closure *fc, gint64 new_size)
|
||||
percent = (100*sectors) / new_sectors;
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
;
|
||||
else
|
||||
@@ -121,7 +121,7 @@ static void expand_image(fix_closure *fc, gint64 new_size)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
;
|
||||
else
|
||||
@@ -141,7 +141,7 @@ static void expand_image(fix_closure *fc, gint64 new_size)
|
||||
|
||||
void RS02Fix(Image *image)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Method *self = FindMethod("RS02");
|
||||
RS02Widgets *wl = (RS02Widgets*)self->widgetList;
|
||||
#endif
|
||||
@@ -183,7 +183,7 @@ void RS02Fix(Image *image)
|
||||
/*** Register the cleanup procedure for GUI mode */
|
||||
|
||||
fc->image = image;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
fc->wl = wl;
|
||||
#endif
|
||||
fc->earlyTermination = TRUE;
|
||||
@@ -191,7 +191,7 @@ void RS02Fix(Image *image)
|
||||
|
||||
/*** Open the image file */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->fixHeadline),
|
||||
_("<big>Repairing the image.</big>\n<i>%s</i>"),
|
||||
@@ -219,7 +219,7 @@ void RS02Fix(Image *image)
|
||||
|
||||
/*** Announce what we going to do */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ char *msg = g_strdup_printf(_("Image contains error correction data: Method RS02, %d roots, %4.1f%% redundancy."),
|
||||
eh->eccBytes,
|
||||
@@ -254,7 +254,7 @@ void RS02Fix(Image *image)
|
||||
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
fc->wl->fixFootline,
|
||||
_("<span %s>Aborted by user request!</span>"),
|
||||
@@ -268,7 +268,7 @@ void RS02Fix(Image *image)
|
||||
Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno));
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(diff>2 && Closure->guiMode)
|
||||
{ int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL,
|
||||
trans,
|
||||
@@ -291,7 +291,7 @@ void RS02Fix(Image *image)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(diff>2 && !Closure->guiMode)
|
||||
#else
|
||||
if(diff>2)
|
||||
@@ -364,7 +364,7 @@ void RS02Fix(Image *image)
|
||||
|
||||
/* See if user hit the Stop button */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
@@ -493,7 +493,7 @@ void RS02Fix(Image *image)
|
||||
|
||||
if(erasure_count>lay->nroots) /* uncorrectable */
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
{ PrintCLI(_("* Ecc block %" PRId64 ": %3d unrepairable sectors: "), s, erasure_count);
|
||||
@@ -821,7 +821,7 @@ skip:
|
||||
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{
|
||||
RS02AddFixValues(wl, percent, local_plot_max);
|
||||
@@ -852,7 +852,7 @@ skip:
|
||||
corrected, data_corr, ecc_corr);
|
||||
if(uncorrected > 0)
|
||||
{ PrintLog(_("Unrepaired sectors: %" PRId64 "\n"), uncorrected);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->fixNotebook, 1, wl->fixFootline,
|
||||
_("Image sectors could not be fully restored "
|
||||
@@ -874,7 +874,7 @@ skip:
|
||||
PrintLog(_("Erasure counts per ecc block: avg = %.1f; worst = %d.\n"),
|
||||
(double)damaged_sectors/(double)damaged_eccsecs,worst_ecc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode && t)
|
||||
SwitchAndSetFootline(wl->fixNotebook, 1, wl->fixFootline,
|
||||
"%s %s", _("Repair results:"), t);
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#ifndef RS02INCLUDES_H
|
||||
#define RS02INCLUDES_H
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/* Data structs from rs02-window.c */
|
||||
|
||||
typedef struct
|
||||
@@ -122,7 +122,7 @@ typedef struct
|
||||
* These are exported via the Method struct
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void CreateRS02EncWindow(Method*, GtkWidget*);
|
||||
void CreateRS02FixWindow(Method*, GtkWidget*);
|
||||
void CreateRS02PrefsPage(Method*, GtkWidget*);
|
||||
@@ -188,7 +188,7 @@ void RS02Fix(Image*);
|
||||
|
||||
int RS02Recognize(Image*);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/* rs02-window.c */
|
||||
|
||||
void RS02AddFixValues(RS02Widgets*, int, int);
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
*** Recognize RS02 error correction data in the image
|
||||
***/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
|
||||
/*
|
||||
* Dialog components for disabling RS02 search
|
||||
@@ -249,7 +249,7 @@ int RS02Recognize(Image *image)
|
||||
while(pos > 0)
|
||||
{ int result;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
goto bail_out;
|
||||
#endif
|
||||
@@ -272,7 +272,7 @@ int RS02Recognize(Image *image)
|
||||
read_count++;
|
||||
if(!answered_continue && read_count > 5)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, insert_buttons,
|
||||
_("Faster medium initialization\n\n"
|
||||
@@ -304,7 +304,7 @@ int RS02Recognize(Image *image)
|
||||
header_modulo >>= 1;
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
bail_out:
|
||||
#endif
|
||||
FreeBitmap(try_next_header);
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
*** Reset the verify output window
|
||||
***/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
|
||||
void ResetRS02VerifyWindow(Method *self)
|
||||
{ RS02Widgets *wl = (RS02Widgets*)self->widgetList;
|
||||
@@ -344,7 +344,7 @@ typedef struct
|
||||
{ Image *image;
|
||||
EccHeader *eh;
|
||||
RS02Layout *lay;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS02Widgets *wl;
|
||||
#endif
|
||||
Bitmap *map;
|
||||
@@ -358,7 +358,7 @@ static void cleanup(gpointer data)
|
||||
|
||||
UnregisterCleanup();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
AllowActions(TRUE);
|
||||
#endif
|
||||
@@ -371,7 +371,7 @@ static void cleanup(gpointer data)
|
||||
|
||||
g_free(cc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -515,7 +515,7 @@ static int prognosis(verify_closure *vc, gint64 missing, gint64 expected)
|
||||
PrintLog(_("- prognosis : %" PRId64 " of %" PRId64 " sectors recoverable (%d.%d%%)\n"),
|
||||
recoverable, expected, percentage/10, percentage%10);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(vc->wl->cmpEcc1Name), "");
|
||||
SetLabelText(GTK_LABEL(vc->wl->cmpEcc1Msg), "");
|
||||
@@ -548,7 +548,7 @@ static int prognosis(verify_closure *vc, gint64 missing, gint64 expected)
|
||||
|
||||
void RS02Verify(Image *image)
|
||||
{ verify_closure *cc = g_malloc0(sizeof(verify_closure));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Method *self = FindMethod("RS02");
|
||||
RS02Widgets *wl = self->widgetList;
|
||||
#endif
|
||||
@@ -574,7 +574,7 @@ void RS02Verify(Image *image)
|
||||
gint64 hdr_missing, hdr_crc_errors;
|
||||
gint64 hdr_ok,hdr_pos,hdr_correctable;
|
||||
gint64 ecc_sector,expected_sectors;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int ecc_md5_failure = FALSE;
|
||||
#endif
|
||||
int ecc_slice;
|
||||
@@ -583,7 +583,7 @@ void RS02Verify(Image *image)
|
||||
char method[5];
|
||||
char *img_advice = NULL;
|
||||
char *ecc_advice = NULL;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int try_it;
|
||||
#endif
|
||||
int unrecoverable_sectors = 0;
|
||||
@@ -591,7 +591,7 @@ void RS02Verify(Image *image)
|
||||
/*** Prepare for early termination */
|
||||
|
||||
RegisterCleanup(_("Check aborted"), cleanup, cc);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
cc->wl = wl;
|
||||
#endif
|
||||
|
||||
@@ -609,7 +609,7 @@ void RS02Verify(Image *image)
|
||||
|
||||
/*** Print information on image size */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpHeadline), "<big>%s</big>\n<i>%s</i>",
|
||||
_("Checking the image file."),
|
||||
@@ -619,7 +619,7 @@ void RS02Verify(Image *image)
|
||||
PrintLog("\n%s: ",Closure->imageName);
|
||||
PrintLog(_("present, contains %" PRId64 " medium sectors.\n"),image->sectorSize);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(expected_sectors == image->sectorSize)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpImageSectors), "%" PRId64 "", image->sectorSize);
|
||||
@@ -689,7 +689,7 @@ void RS02Verify(Image *image)
|
||||
hdr_pos = (lay->protectedSectors + lay->headerModulo - 1) & ~(lay->headerModulo-1);
|
||||
else hdr_pos += lay->headerModulo;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(!hdr_crc_errors && !hdr_missing)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccHeaders), _("complete"));
|
||||
@@ -734,7 +734,7 @@ void RS02Verify(Image *image)
|
||||
|
||||
/* Check for user interruption */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageResult),
|
||||
@@ -820,7 +820,7 @@ void RS02Verify(Image *image)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
percent = (VERIFY_IMAGE_SEGMENTS*(s+1))/expected_sectors;
|
||||
else
|
||||
@@ -829,7 +829,7 @@ void RS02Verify(Image *image)
|
||||
|
||||
if(last_percent != percent)
|
||||
{ PrintProgress(_("- testing sectors : %3d%%") ,percent);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ add_verify_values(self, percent, new_missing, new_crc_errors);
|
||||
if(data_missing || data_crc_errors)
|
||||
@@ -853,7 +853,7 @@ void RS02Verify(Image *image)
|
||||
|
||||
/* Complete damage summary */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(data_missing || data_crc_errors)
|
||||
SetLabelText(GTK_LABEL(wl->cmpDataSection),
|
||||
@@ -907,7 +907,7 @@ void RS02Verify(Image *image)
|
||||
PrintLog(_(" ... ecc section : %" PRId64 " sectors missing\n"), ecc_missing);
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(!data_missing && !data_crc_errors)
|
||||
SetLabelText(GTK_LABEL(wl->cmpDataSection), _("complete"));
|
||||
@@ -957,7 +957,7 @@ continue_with_ecc:
|
||||
PrintLog(format, _("created by dvdisaster"), major, minor, micro, unstable);
|
||||
PrintLog("\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SwitchAndSetFootline(wl->cmpEccNotebook, 1,
|
||||
wl->cmpEccCreatedBy,
|
||||
@@ -972,7 +972,7 @@ continue_with_ecc:
|
||||
PrintLog(format, _("created by dvdisaster"), major, minor, unstable);
|
||||
PrintLog("\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->cmpEccNotebook, 1,
|
||||
wl->cmpEccCreatedBy,
|
||||
@@ -989,7 +989,7 @@ continue_with_ecc:
|
||||
method, eh->eccBytes,
|
||||
((double)eh->eccBytes*100.0)/(double)eh->dataBytes);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMethod), _("%4s, %d roots, %4.1f%% redundancy"),
|
||||
method, eh->eccBytes,
|
||||
@@ -1004,7 +1004,7 @@ continue_with_ecc:
|
||||
(eh->neededVersion%10000)/100);
|
||||
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccRequires), "dvdisaster-%d.%d",
|
||||
eh->neededVersion/10000,
|
||||
@@ -1019,7 +1019,7 @@ continue_with_ecc:
|
||||
(eh->neededVersion%10000)/100);
|
||||
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccRequires),
|
||||
"<span %s>dvdisaster-%d.%d</span>",
|
||||
@@ -1043,7 +1043,7 @@ continue_with_ecc:
|
||||
{ PrintLog(_("- medium sectors : %" PRId64 " / %" PRId64 " (good)\n"),
|
||||
expected_sectors, lay->dataSectors);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMediumSectors), "%" PRId64 " / %" PRId64 "",
|
||||
expected_sectors, lay->dataSectors);
|
||||
@@ -1055,7 +1055,7 @@ continue_with_ecc:
|
||||
expected_sectors);
|
||||
else PrintLog(_("* medium sectors : %" PRId64 " (BAD)\n"),expected_sectors);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccMediumSectors),
|
||||
"<span %s>%" PRId64 "</span>", Closure->redMarkup, expected_sectors);
|
||||
@@ -1078,7 +1078,7 @@ continue_with_ecc:
|
||||
if(n) PrintLog(_("- data md5sum : %s (good)\n"),hdr_digest);
|
||||
else PrintLog(_("* data md5sum : %s (BAD)\n"),hdr_digest);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(n) SetLabelText(GTK_LABEL(wl->cmpEcc1Msg), "%s", hdr_digest);
|
||||
else
|
||||
@@ -1091,7 +1091,7 @@ continue_with_ecc:
|
||||
else
|
||||
{ PrintLog(_("- data md5sum : %s\n"), "-");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEcc1Msg), "%s", "-");
|
||||
#endif
|
||||
@@ -1104,14 +1104,14 @@ continue_with_ecc:
|
||||
if(!crc_missing)
|
||||
{ if(!memcmp(eh->crcSum, cc->crcSum, 16))
|
||||
{ PrintLog(_("- crc md5sum : %s (good)\n"),digest);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEcc2Msg), "%s", digest);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{ PrintLog(_("* crc md5sum : %s (BAD)\n"),digest);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEcc2Msg), "<span %s>%s</span>", Closure->redMarkup, digest);
|
||||
}
|
||||
@@ -1122,7 +1122,7 @@ continue_with_ecc:
|
||||
else
|
||||
{ PrintLog(_("- crc md5sum : %s\n"), "-");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEcc2Msg), "%s", "-");
|
||||
#endif
|
||||
@@ -1135,14 +1135,14 @@ continue_with_ecc:
|
||||
if(!ecc_missing)
|
||||
{ if(!memcmp(eh->eccSum, ecc_sum, 16))
|
||||
{ PrintLog(_("- ecc md5sum : %s (good)\n"),digest);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEcc3Msg), "%s", digest);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{ PrintLog(_("* ecc md5sum : %s (BAD)\n"),digest);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEcc3Msg), "<span %s>%s</span>", Closure->redMarkup, digest);
|
||||
}
|
||||
@@ -1153,7 +1153,7 @@ continue_with_ecc:
|
||||
else
|
||||
{ PrintLog(_("- ecc md5sum : %s\n"), "-");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEcc3Msg), "%s", "-");
|
||||
#endif
|
||||
@@ -1162,12 +1162,12 @@ continue_with_ecc:
|
||||
|
||||
/*** Print final results */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
try_it =
|
||||
#endif
|
||||
prognosis(cc, total_missing + data_crc_errors - hdr_correctable, expected_sectors);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(ecc_advice)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccResult), "%s", ecc_advice);
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
typedef struct
|
||||
{ Method *self;
|
||||
Image *image;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS03Widgets *wl;
|
||||
#endif
|
||||
RS03Layout *lay;
|
||||
@@ -147,7 +147,7 @@ static void ecc_cleanup(gpointer data)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(ec->earlyTermination)
|
||||
SetLabelText(GTK_LABEL(ec->wl->encFootline),
|
||||
@@ -229,7 +229,7 @@ static void ecc_cleanup(gpointer data)
|
||||
if(ec->encoderData) g_free(ec->encoderData);
|
||||
g_free(ec);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -245,7 +245,7 @@ static void ecc_cleanup(gpointer data)
|
||||
|
||||
static void abort_encoding(ecc_closure *ec, int truncate)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS03Widgets *wl = ec->wl;
|
||||
#endif
|
||||
|
||||
@@ -255,14 +255,14 @@ static void abort_encoding(ecc_closure *ec, int truncate)
|
||||
else if(!LargeTruncate(ec->image->file, (gint64)(2048*ec->lay->dataSectors)))
|
||||
Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(wl->encFootline),
|
||||
_("<span %s>Aborted by user request!</span> (partial ecc data removed from image)"),
|
||||
Closure->redMarkup);
|
||||
#endif
|
||||
}
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(wl->encFootline),
|
||||
@@ -291,7 +291,7 @@ static void remove_old_ecc(ecc_closure *ec)
|
||||
{
|
||||
if(ConfirmEccDeletion(Closure->eccName))
|
||||
LargeUnlink(Closure->eccName);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else
|
||||
{ SetLabelText(GTK_LABEL(ec->wl->encFootline),
|
||||
_("<span %s>Aborted to keep existing ecc file.</span>"),
|
||||
@@ -311,14 +311,14 @@ static void remove_old_ecc(ecc_closure *ec)
|
||||
guint64 data_bytes;
|
||||
int answer;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->confirmDeletion || !Closure->guiMode)
|
||||
#endif
|
||||
answer = ModalWarningOrCLI(GTK_MESSAGE_WARNING, GTK_BUTTONS_OK_CANCEL, NULL,
|
||||
_("Image \"%s\" already contains error correction information.\n"
|
||||
"Truncating image to data part (%" PRId64 " sectors).\n"),
|
||||
Closure->imageName, data_sectors);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
else answer = TRUE;
|
||||
#endif
|
||||
|
||||
@@ -514,7 +514,7 @@ static void expand_image(ecc_closure *ec)
|
||||
{ unsigned char dead_sector[2048];
|
||||
int n;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* User hit the Stop button */
|
||||
abort_encoding(ec, TRUE);
|
||||
#endif
|
||||
@@ -531,7 +531,7 @@ static void expand_image(ecc_closure *ec)
|
||||
if(last_percent != percent)
|
||||
{ PrintProgress(_(progress_msg), percent);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(ec->wl->encPBar1, percent, 100);
|
||||
#endif
|
||||
@@ -543,7 +543,7 @@ static void expand_image(ecc_closure *ec)
|
||||
PrintProgress(_(progress_msg), 100);
|
||||
PrintProgress("\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetProgress(ec->wl->encPBar1, 100, 100);
|
||||
#endif
|
||||
@@ -629,7 +629,7 @@ static void read_next_chunk(ecc_closure *ec, guint64 chunk)
|
||||
guint64 page_offset;
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* User hit the Stop button */
|
||||
{ ec->abortImmediately = TRUE;
|
||||
abort_encoding(ec, TRUE);
|
||||
@@ -860,7 +860,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
|
||||
for(chunk=0; chunk<lay->sectorsPerLayer; chunk+=ec->chunkSize)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int cpu_bound = 0;
|
||||
#endif
|
||||
|
||||
@@ -917,7 +917,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
/* Wait until the encoders have finished */
|
||||
|
||||
g_mutex_lock(ec->lock);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
cpu_bound = ec->buffersToEncode;
|
||||
#endif
|
||||
while(ec->buffersToEncode)
|
||||
@@ -930,7 +930,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
|
||||
verbose("IO: chunk %d finished\n", ec->ioChunk);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(cpu_bound)
|
||||
{ SetLabelText(GTK_LABEL(ec->wl->encBottleneck), _("CPU bound"));
|
||||
@@ -1137,7 +1137,7 @@ static gpointer encoder_thread(ecc_closure *ec)
|
||||
{
|
||||
ec->lastPercent = percent;
|
||||
g_mutex_unlock(ec->lock);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ gdouble elapsed;
|
||||
gulong ignore;
|
||||
@@ -1178,14 +1178,14 @@ static void create_reed_solomon(ecc_closure *ec)
|
||||
{ int nroots = ec->lay->nroots;
|
||||
int ndata = ec->lay->ndata;
|
||||
int i;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
char *alg="none";
|
||||
char *iostrat="none";
|
||||
#endif
|
||||
|
||||
/*** Show the second progress bar */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ ShowWidget(ec->wl->encPBar2);
|
||||
ShowWidget(ec->wl->encLabel2);
|
||||
@@ -1289,7 +1289,7 @@ static void create_reed_solomon(ecc_closure *ec)
|
||||
void RS03Create(void)
|
||||
{ Method *method = FindMethod("RS03");
|
||||
Image *image = NULL;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS03Widgets *wl = (RS03Widgets*)method->widgetList;
|
||||
#endif
|
||||
RS03Layout *lay;
|
||||
@@ -1301,14 +1301,14 @@ void RS03Create(void)
|
||||
/*** Register the cleanup procedure for GUI mode */
|
||||
|
||||
ec->self = method;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
ec->wl = wl;
|
||||
#endif
|
||||
ec->earlyTermination = TRUE;
|
||||
|
||||
RegisterCleanup(_("Error correction data creation aborted"), ecc_cleanup, ec);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode) /* Preliminary fill text for the head line */
|
||||
SetLabelText(GTK_LABEL(wl->encHeadline),
|
||||
_("<big>Augmenting the image with error correction data.</big>\n<i>%s</i>"),
|
||||
@@ -1359,7 +1359,7 @@ void RS03Create(void)
|
||||
/*** Announce what we are going to do */
|
||||
|
||||
ecc_sectors = lay->nroots*lay->sectorsPerLayer;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode) /* Preliminary fill text for the head line */
|
||||
{ ec->msg = g_strdup_printf(_("Encoding with Method RS03: %" PRId64 " MiB data, %" PRId64 " MiB ecc (%d roots; %4.1f%% redundancy)."),
|
||||
lay->dataSectors/512, ecc_sectors/512, lay->nroots, lay->redundancy);
|
||||
@@ -1458,7 +1458,7 @@ void RS03Create(void)
|
||||
mbs = ((double)lay->ndata*lay->sectorsPerLayer)/(512.0*elapsed);
|
||||
PrintLog(_("Avg performance: %5.2fs (%5.2fMiB/s) total\n"),
|
||||
elapsed, mbs);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->encPerformance), _("%5.2fMiB/s average"), mbs);
|
||||
SetLabelText(GTK_LABEL(ec->wl->encBottleneck),
|
||||
@@ -1467,7 +1467,7 @@ void RS03Create(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetProgress(wl->encPBar2, 100, 100);
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
typedef struct
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS03Widgets *wl;
|
||||
#endif
|
||||
RS03Layout *lay;
|
||||
@@ -49,7 +49,7 @@ static void fix_cleanup(gpointer data)
|
||||
|
||||
UnregisterCleanup();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(fc->earlyTermination)
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
@@ -76,7 +76,7 @@ static void fix_cleanup(gpointer data)
|
||||
|
||||
g_free(fc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -114,7 +114,7 @@ static void expand_image(Image *image, EccHeader *eh, gint64 new_size)
|
||||
percent = (100*sectors) / new_sectors;
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
;
|
||||
else
|
||||
@@ -124,7 +124,7 @@ static void expand_image(Image *image, EccHeader *eh, gint64 new_size)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
;
|
||||
else
|
||||
@@ -141,7 +141,7 @@ static void expand_image(Image *image, EccHeader *eh, gint64 new_size)
|
||||
|
||||
void RS03Fix(Image *image)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
Method *self = FindMethod("RS03");
|
||||
RS03Widgets *wl = (RS03Widgets*)self->widgetList;
|
||||
#endif
|
||||
@@ -175,14 +175,14 @@ void RS03Fix(Image *image)
|
||||
gint64 damaged_eccsecs=0;
|
||||
gint64 expected_sectors;
|
||||
char *t=NULL;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
char *msg;
|
||||
#endif
|
||||
|
||||
/*** Register the cleanup procedure for GUI mode */
|
||||
|
||||
fc->image = image;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
fc->wl = wl;
|
||||
#endif
|
||||
fc->earlyTermination = TRUE;
|
||||
@@ -194,7 +194,7 @@ void RS03Fix(Image *image)
|
||||
|
||||
/*** Open the image file */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->fixHeadline),
|
||||
_("<big>Repairing the image.</big>\n<i>%s</i>"),
|
||||
@@ -237,7 +237,7 @@ void RS03Fix(Image *image)
|
||||
|
||||
/*** Announce what we are going to do */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(eh->methodFlags[0] & MFLAG_ECC_FILE)
|
||||
msg = g_strdup_printf(_("Error correction file using Method RS03, %d roots, %4.1f%% redundancy."),
|
||||
@@ -264,7 +264,7 @@ void RS03Fix(Image *image)
|
||||
{ int difference = image->inLast - eh->inLast;
|
||||
guint64 expected_image_size = 2048*(expected_sectors-1)+eh->inLast;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL,
|
||||
_("The image file is %d bytes longer than noted\n"
|
||||
@@ -283,7 +283,7 @@ void RS03Fix(Image *image)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode && !Closure->truncate)
|
||||
#else
|
||||
if(!Closure->truncate)
|
||||
@@ -321,7 +321,7 @@ void RS03Fix(Image *image)
|
||||
|
||||
if(!answer)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
fc->wl->fixFootline,
|
||||
_("<span %s>Aborted by user request!</span>"),
|
||||
@@ -337,7 +337,7 @@ void RS03Fix(Image *image)
|
||||
Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno));
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(diff>2 && Closure->guiMode)
|
||||
{ int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL,
|
||||
trans,
|
||||
@@ -362,7 +362,7 @@ void RS03Fix(Image *image)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(diff>2 && !Closure->guiMode)
|
||||
#else
|
||||
if(diff>2)
|
||||
@@ -421,7 +421,7 @@ void RS03Fix(Image *image)
|
||||
|
||||
/* See if user hit the Stop button */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SwitchAndSetFootline(fc->wl->fixNotebook, 1,
|
||||
@@ -551,7 +551,7 @@ void RS03Fix(Image *image)
|
||||
|
||||
if(erasure_count>lay->nroots) /* uncorrectable */
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
{ int sep_printed = 0;
|
||||
@@ -913,7 +913,7 @@ skip:
|
||||
|
||||
if(last_percent != percent)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{
|
||||
RS03AddFixValues(wl, percent, local_plot_max);
|
||||
@@ -942,7 +942,7 @@ skip:
|
||||
corrected, data_corr, ecc_corr);
|
||||
if(uncorrected > 0)
|
||||
{ PrintLog(_("Unrepaired sectors: %" PRId64 "\n"), uncorrected);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->fixNotebook, 1, wl->fixFootline,
|
||||
_("Image sectors could not be fully restored "
|
||||
@@ -967,7 +967,7 @@ skip:
|
||||
PrintLog(_("Erasure counts per ecc block: avg = %.1f; worst = %d.\n"),
|
||||
(double)damaged_sectors/(double)damaged_eccsecs,worst_ecc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode && t)
|
||||
SwitchAndSetFootline(wl->fixNotebook, 1, wl->fixFootline,
|
||||
"%s %s", _("Repair results:"), t);
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#ifndef RS03INCLUDES_H
|
||||
#define RS03INCLUDES_H
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/* Data structs from rs03-window.c */
|
||||
|
||||
typedef struct
|
||||
@@ -133,7 +133,7 @@ typedef struct
|
||||
* These are exported via the Method struct
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void CreateRS03EncWindow(Method*, GtkWidget*);
|
||||
void CreateRS03FixWindow(Method*, GtkWidget*);
|
||||
void CreateRS03PrefsPage(Method*, GtkWidget*);
|
||||
@@ -200,7 +200,7 @@ void RS03Fix(Image*);
|
||||
int RS03RecognizeFile(LargeFile*, EccHeader**);
|
||||
int RS03RecognizeImage(Image*);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
/* rs03-window.c */
|
||||
|
||||
void RS03AddFixValues(RS03Widgets*, int, int);
|
||||
@@ -217,7 +217,7 @@ void RS03Verify(Image*);
|
||||
/* temporary single threaded versions */
|
||||
|
||||
void RS03SCreate(void);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
void CreateRS03SEncWindow(Method*, GtkWidget*);
|
||||
void ResetRS03SEncWindow(Method*);
|
||||
#endif
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
/***
|
||||
*** Reset the verify output window
|
||||
***/
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
|
||||
void ResetRS03VerifyWindow(Method *self)
|
||||
{ RS03Widgets *wl = (RS03Widgets*)self->widgetList;
|
||||
@@ -376,7 +376,7 @@ typedef struct
|
||||
{ Image *image;
|
||||
EccHeader *eh;
|
||||
RS03Layout *lay;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS03Widgets *wl;
|
||||
#endif
|
||||
CrcBuf *crcBuf;
|
||||
@@ -393,7 +393,7 @@ static void cleanup(gpointer data)
|
||||
|
||||
UnregisterCleanup();
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
AllowActions(TRUE);
|
||||
#endif
|
||||
@@ -414,7 +414,7 @@ static void cleanup(gpointer data)
|
||||
|
||||
g_free(vc);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
#endif
|
||||
@@ -460,7 +460,7 @@ static int prognosis(verify_closure *vc, gint64 missing, gint64 expected)
|
||||
PrintLog(_("- prognosis : %" PRId64 " of %" PRId64 " sectors recoverable (%d.%d%%)\n"),
|
||||
recoverable, expected, percentage/10, percentage%10);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(vc->wl->cmpImageErasure), _("Erasure counts:"));
|
||||
SetLabelText(GTK_LABEL(vc->wl->cmpImagePrognosis), _("Prognosis:"));
|
||||
@@ -497,7 +497,7 @@ static int check_syndromes(verify_closure *vc)
|
||||
int bad_counted;
|
||||
int layer,i,j;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(vc->wl->cmpHeadline), "<big>%s</big>\n<i>%s</i>",
|
||||
_("Checking the image and error correction files."),
|
||||
@@ -515,7 +515,7 @@ static int check_syndromes(verify_closure *vc)
|
||||
for(j=0; j<i; j++)
|
||||
g_free(vc->eccBlock[j]);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes),
|
||||
_("<span %s>Out of memory; try reducing sector prefetch!</span>"),
|
||||
@@ -541,7 +541,7 @@ static int check_syndromes(verify_closure *vc)
|
||||
|
||||
/* Check for user interruption */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes),
|
||||
@@ -603,7 +603,7 @@ static int check_syndromes(verify_closure *vc)
|
||||
|
||||
if(!ecc_bad)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes),
|
||||
_("%d%% tested"),
|
||||
@@ -614,7 +614,7 @@ static int check_syndromes(verify_closure *vc)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes),
|
||||
_("<span %s>%" PRId64 " good, %" PRId64 " bad; %d%% tested</span>"),
|
||||
@@ -630,7 +630,7 @@ static int check_syndromes(verify_closure *vc)
|
||||
|
||||
if(!ecc_bad)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes),_("pass"));
|
||||
#endif
|
||||
@@ -639,7 +639,7 @@ static int check_syndromes(verify_closure *vc)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes),
|
||||
_("<span %s>%" PRId64 " good, %" PRId64 " bad; %" PRId64 " bad sub blocks</span>"),
|
||||
@@ -660,7 +660,7 @@ static int check_syndromes(verify_closure *vc)
|
||||
void RS03Verify(Image *image)
|
||||
{ Method *self = FindMethod("RS03");
|
||||
verify_closure *vc = g_malloc0(sizeof(verify_closure));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
RS03Widgets *wl = self->widgetList;
|
||||
#endif
|
||||
EccHeader *eh = NULL;
|
||||
@@ -683,12 +683,12 @@ void RS03Verify(Image *image)
|
||||
char *unstable="";
|
||||
|
||||
char method[5];
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
char *img_advice = NULL;
|
||||
char *ecc_advice = NULL;
|
||||
#endif
|
||||
char *version;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
int syn_error = 0;
|
||||
int try_it;
|
||||
#endif
|
||||
@@ -699,7 +699,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
RegisterCleanup(_("Check aborted"), cleanup, vc);
|
||||
vc->image = image;
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
vc->wl = wl;
|
||||
#endif
|
||||
|
||||
@@ -722,7 +722,7 @@ void RS03Verify(Image *image)
|
||||
else /* may only happen when ecc file is present */
|
||||
{ PrintLog("\n%s not present.\n", Closure->imageName);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SwitchAndSetFootline(wl->cmpImageNotebook, 0, NULL, NULL);
|
||||
#endif
|
||||
@@ -730,7 +730,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
if(eh->methodFlags[0] & MFLAG_ECC_FILE)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpHeadline), "<big>%s</big>\n<i>%s</i>",
|
||||
_("Checking the image and error correction files."),
|
||||
@@ -741,7 +741,7 @@ void RS03Verify(Image *image)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpHeadline), "<big>%s</big>\n<i>%s</i>",
|
||||
_("Checking the image file."),
|
||||
@@ -774,7 +774,7 @@ void RS03Verify(Image *image)
|
||||
else msg = g_strdup_printf(_("Ecc file is %" PRId64 " sectors longer than expected."),
|
||||
eccfile_sectors - expected_eccfile_sectors);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
ecc_advice = g_strdup_printf("<span %s>%s</span>", Closure->redMarkup, msg);
|
||||
#endif
|
||||
@@ -791,7 +791,7 @@ void RS03Verify(Image *image)
|
||||
PrintLog(_("- type : Error correction file\n"));
|
||||
else PrintLog(_("- type : Augmented image\n"));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(eh->methodFlags[0] & MFLAG_ECC_FILE)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccType), _("Error correction file"));
|
||||
@@ -807,7 +807,7 @@ void RS03Verify(Image *image)
|
||||
method, eh->eccBytes,
|
||||
((double)eh->eccBytes*100.0)/(double)eh->dataBytes);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccMethod), _("%4s, %d roots, %4.1f%% redundancy"),
|
||||
method, eh->eccBytes,
|
||||
@@ -830,7 +830,7 @@ void RS03Verify(Image *image)
|
||||
PrintLog(format, _("- created by : dvdisaster"), major, minor, micro, unstable);
|
||||
PrintLog("\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccCreatedBy), format,
|
||||
"dvdisaster", major, minor, micro, unstable);
|
||||
@@ -842,7 +842,7 @@ void RS03Verify(Image *image)
|
||||
PrintLog(format, _("- created by : dvdisaster"), major, minor, unstable);
|
||||
PrintLog("\n");
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccCreatedBy), format,
|
||||
"dvdisaster", major, minor, unstable);
|
||||
@@ -863,7 +863,7 @@ void RS03Verify(Image *image)
|
||||
if(Closure->version >= eh->neededVersion)
|
||||
{ PrintLog(_("- requires : dvdisaster-%s\n"), version);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccRequires), "dvdisaster-%s", version);
|
||||
#endif
|
||||
@@ -874,7 +874,7 @@ void RS03Verify(Image *image)
|
||||
"* : Please visit http://www.dvdisaster.org for an upgrade.\n"),
|
||||
version);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccRequires),
|
||||
"<span %s>dvdisaster-%s</span>",
|
||||
@@ -897,7 +897,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
PrintLog(_("- data md5sum : %s\n"),hdr_digest);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccDataCrcVal), "%s", hdr_digest);
|
||||
#endif
|
||||
@@ -909,7 +909,7 @@ void RS03Verify(Image *image)
|
||||
{ if(image->fpState != FP_PRESENT)
|
||||
{ PrintLog(_("* fingerprint match: NOT POSSIBLE - related sector is missing in image!\n"));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccFingerprint), _("<span %s>missing sector prevents calculation</span>"), Closure->redMarkup);
|
||||
#endif
|
||||
@@ -919,7 +919,7 @@ void RS03Verify(Image *image)
|
||||
if(memcmp(image->imageFP, eh->mediumFP, 16))
|
||||
{ PrintLog(_("* fingerprint match: MISMATCH - .iso and .ecc don't belong together!\n"));
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccFingerprint),
|
||||
_("<span %s>mismatch</span>"), Closure->redMarkup);
|
||||
@@ -931,7 +931,7 @@ void RS03Verify(Image *image)
|
||||
}
|
||||
else
|
||||
{ PrintLog(_("- fingerprint match: good\n"));
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccFingerprint), _("good"));
|
||||
#endif
|
||||
@@ -942,7 +942,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
/* print advice collected from above tests */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(ecc_advice)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccResult), "%s", ecc_advice);
|
||||
@@ -985,7 +985,7 @@ void RS03Verify(Image *image)
|
||||
if(expected_image_sectors == image->sectorSize && matching_byte_size)
|
||||
{ if(lay->target == ECC_FILE)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(image->inLast == 2048)
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageSectors), _("%" PRId64 " in image; %" PRId64 " in ecc file"),
|
||||
@@ -1004,7 +1004,7 @@ void RS03Verify(Image *image)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageSectors), _("%" PRId64 " total / %" PRId64 " data"),
|
||||
image->sectorSize, lay->dataSectors);
|
||||
@@ -1024,7 +1024,7 @@ void RS03Verify(Image *image)
|
||||
expected_size = g_strdup_printf("%lld", (long long int)expected_image_sectors);
|
||||
else expected_size = g_strdup_printf("%lld sectors + %d bytes", (long long int)expected_image_sectors-1, eh->inLast);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpImageSectors), _("<span %s>%s (%s expected)</span>"),
|
||||
Closure->redMarkup, image_size, expected_size);
|
||||
@@ -1089,7 +1089,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
/* Check for user interruption */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
{ if(Closure->stopActions == STOP_CURRENT_ACTION) /* suppress memleak warning when closing window */
|
||||
SetLabelText(GTK_LABEL(wl->cmpImageResult),
|
||||
@@ -1211,7 +1211,7 @@ void RS03Verify(Image *image)
|
||||
if(!defective)
|
||||
SetBit(vc->map, s);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ /* data part / spiral animation */
|
||||
percent = (VERIFY_IMAGE_SEGMENTS*(s+1))/virtual_expected;
|
||||
@@ -1226,7 +1226,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
if(last_percent != percent) /* Update sector results */
|
||||
{ PrintProgress(_("- testing sectors : %3d%%") ,percent);
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(lay->target == ECC_IMAGE)
|
||||
{ add_verify_values(self, percent, new_missing, new_crc_errors);
|
||||
@@ -1265,7 +1265,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
if(lay->target == ECC_FILE && s == lay->dataSectors-1)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ /* flush/complete spiral */
|
||||
add_verify_values(self, VERIFY_IMAGE_SEGMENTS, new_missing, new_crc_errors);
|
||||
@@ -1283,7 +1283,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
/* Complete damage summary */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(data_missing || data_crc_errors)
|
||||
SetLabelText(GTK_LABEL(wl->cmpDataSection),
|
||||
@@ -1334,7 +1334,7 @@ void RS03Verify(Image *image)
|
||||
PrintLog(_(" ... ecc section : %" PRId64 " sectors missing\n"), ecc_missing);
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(!data_missing && !data_crc_errors)
|
||||
SetLabelText(GTK_LABEL(wl->cmpDataSection), _("complete"));
|
||||
@@ -1348,7 +1348,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
/*** Test error syndromes */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ SetLabelText(GTK_LABEL(wl->cmpEccSynLabel), _("Ecc block test:"));
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccSyndromes), "");
|
||||
@@ -1356,7 +1356,7 @@ void RS03Verify(Image *image)
|
||||
#endif
|
||||
if(0&&total_missing + data_crc_errors != 0)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(GTK_LABEL(wl->cmpEccSyndromes),
|
||||
_("<span %s>Skipped; not useful on known defective image</span>"),
|
||||
@@ -1367,7 +1367,7 @@ void RS03Verify(Image *image)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
syn_error =
|
||||
#endif
|
||||
check_syndromes(vc);
|
||||
@@ -1375,7 +1375,7 @@ void RS03Verify(Image *image)
|
||||
|
||||
/*** Print image advice */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{
|
||||
if(img_advice)
|
||||
@@ -1397,12 +1397,12 @@ void RS03Verify(Image *image)
|
||||
|
||||
/*** Print final results */
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
try_it =
|
||||
#endif
|
||||
prognosis(vc, total_missing+data_crc_errors, lay->totalSectors);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
{ if(total_missing || data_crc_errors)
|
||||
{ if(try_it) SetLabelText(GTK_LABEL(wl->cmpImageResult),
|
||||
|
||||
@@ -2206,7 +2206,7 @@ int TestUnitReady(DeviceHandle *dh)
|
||||
|
||||
if(SendPacket(dh, cmd, 6, NULL, 0, &dh->sense, DATA_NONE) != -1)
|
||||
{
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(Closure->status, "");
|
||||
#endif
|
||||
@@ -2227,7 +2227,7 @@ int TestUnitReady(DeviceHandle *dh)
|
||||
{ PrintCLIorLabel(STATUS_LABEL_OR_NULL,
|
||||
_("Waiting 10 seconds for drive: %d\n"),9-i);
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions)
|
||||
return FALSE;
|
||||
#endif
|
||||
@@ -2240,7 +2240,7 @@ int TestUnitReady(DeviceHandle *dh)
|
||||
break; /* Something is wrong with the drive */
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->guiMode)
|
||||
SetLabelText(Closure->status, "");
|
||||
#endif
|
||||
@@ -2496,7 +2496,7 @@ int ReadSectors(DeviceHandle *dh, unsigned char *buf, gint64 s, int nsectors)
|
||||
if(status) /* current try was unsuccessful */
|
||||
{ int last_key, last_asc, last_ascq;
|
||||
|
||||
#ifndef CLI
|
||||
#ifndef WITH_CLI_ONLY_YES
|
||||
if(Closure->stopActions) /* user break */
|
||||
return status;
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user