Compare commits

...

5 Commits

Author SHA1 Message Date
Carlos Maddela
e35c2de208 Release version 0.79.6-1 to experimental. 2017-12-21 05:54:03 +11:00
Carlos Maddela
619ee820f3 Rebase patches. 2017-12-21 05:49:31 +11:00
Carlos Maddela
581d7697db Prepare changelog for new upstream development version [0.79.6]. 2017-12-21 05:36:52 +11:00
Carlos Maddela
58e068ff5b Update upstream source from tag 'upstream/0.79.6'
Update to upstream version '0.79.6'
with Debian dir b81b2ebe3a
2017-12-21 05:32:12 +11:00
Carlos Maddela
ccc2d79dd4 New upstream version 0.79.6 2017-12-21 05:31:58 +11:00
616 changed files with 18240 additions and 7546 deletions

3
.gitignore vendored
View File

@@ -1,3 +0,0 @@
.pc
*.o
*~

1453
CHANGELOG

File diff suppressed because it is too large Load Diff

View File

@@ -254,21 +254,14 @@ install: dvdisaster manual
@echo "# dvdisaster uninstaller script" > $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "# Usage: sh dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f \"$(BINDIR)/dvdisaster\" \"$(BINDIR)/dvdisaster-uninstall.sh\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f \"$(DOCSUBDIR)/CHANGELOG\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f \"$(DOCSUBDIR)/COPYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f \"$(DOCSUBDIR)/CREDITS.de\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f \"$(DOCSUBDIR)/CREDITS.en\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f \"$(DOCSUBDIR)/manual.pdf\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f \"$(DOCSUBDIR)/README.MODIFYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f \"$(DOCSUBDIR)/TODO\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rmdir \"$(DOCSUBDIR)\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -rf $(DOCSUBDIR)" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@for i in $(PO_LOCALES); do \
echo "rm -f \"$(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
echo "rm $(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
done
@echo "rm -f \"$(MANDIR)/man1/dvdisaster.1\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@echo "rm -f $(MANDIR)/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
@for i in $(MAN_LOCALES); do \
echo "rm -f \"$(MANDIR)/$$i/man1/dvdisaster.1\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
echo "rm $(MANDIR)/$$i/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
done
@echo "echo \"dvdisaster has been uninstalled.\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh

18
INSTALL
View File

@@ -111,11 +111,11 @@ Please change into a directory which is writeable
for you and unpack the source code archive:
user@host> cd /var/tmp
user@host> tar xjf dvdisaster-0.79.5.tar.bz2
user@host> tar xjf dvdisaster-0.79.6.tar.bz2
Then change into the newly created directory:
user@host> cd /var/tmp/dvdisaster-0.79.5
user@host> cd /var/tmp/dvdisaster-0.79.6
3.2. Configuring the package
----------------------------
@@ -199,8 +199,7 @@ please remove the directory you have created as described
in section 3.1:
user@host> cd /var/tmp
user@host> rm -rf dvdisaster-0.79.5
user@host> rm -rf dvdisaster-0.79.6
5. Running the program
======================
@@ -228,16 +227,7 @@ Use camcontrol to find out which passthrough device
is assigned to your drive:
root@freebsd# camcontrol devlist
<NAME OF YOUR DRIVE> at scbus1 target 0 lun 0 (pass1,cd0)
You can change permission permanently by adding the
following line to /etc/devfs.conf:
perm pass1 0660
To make the change available immediately, restart devfs:
root@freebsd# /etc/rc.d/devfs restart
<NAME OF YOUR DRIVE> at scbus1 target 0 lun 0 (pass0,cd0)
Avoid copy-on-write filesystems

8
TODO
View File

@@ -1,15 +1,13 @@
Tentative to do/ release schedule
Version 0.79: new RS03 codec
Version 0.79: new RS03 codec (encoding part)
- lots of speed optimizations in error correction data encoding
- multithreaded / multicore processor support for encoding
(decoding still single threaded)
- multithreaded / multicore processor support
- add missing functionality, e.g. adaptive reading
0.79.5: project re-launch
0.79.6: re-introduce CRC and MD5 caching between reading
and ecc creation; cosmetical changes; support
for 100G BD
and ecc creation; cosmetical changes
0.79.7: re-introduce adaptive reading
Version 0.80: milestone release

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
@@ -55,9 +55,9 @@ void FreeBitmap(Bitmap *bm)
* Count the '1' bits in the bitmap
*/
int CountBits(Bitmap *bm)
{ int i;
int sum = 0;
gint32 CountBits(Bitmap *bm)
{ gint32 i;
gint32 sum = 0;
for(i=0; i<bm->size; i++)
if(GetBit(bm, i))

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org

View File

@@ -1,2 +1,2 @@
#define BUILD 2789
#define BDATE "15.12.15 (Dienstag, 16:39)"
#define BUILD 272
#define BDATE "17.11.17 (Freitag, 09:57)"

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
@@ -225,17 +225,20 @@ void ReadDotfile()
if(!strcmp(symbol, "last-image")) { g_free(Closure->imageName);
if(!strcmp(value, "none"))
Closure->imageName = g_strdup("");
else Closure->imageName = g_strdup(value); continue;
else Closure->imageName = g_strdup(value);
continue;
}
if(!strcmp(symbol, "last-ecc")) { g_free(Closure->eccName);
if(!strcmp(value, "none"))
Closure->eccName = g_strdup("");
else Closure->eccName = g_strdup(value); continue;
else Closure->eccName = g_strdup(value);
continue;
}
if(!strcmp(symbol, "adaptive-read")) { Closure->adaptiveRead = atoi(value); continue; }
if(!strcmp(symbol, "auto-suffix")) { Closure->autoSuffix = atoi(value); continue; }
if(!strcmp(symbol, "bd-size1")) { Closure->bdSize1 = Closure->savedBDSize1 = atoll(value); continue; }
if(!strcmp(symbol, "bd-size2")) { Closure->bdSize2 = Closure->savedBDSize2 = atoll(value); continue; }
if(!strcmp(symbol, "bd-size3")) { Closure->bdSize3 = Closure->savedBDSize3 = atoll(value); continue; }
if(!strcmp(symbol, "cache-size")) { Closure->cacheMiB = atoi(value); continue; }
if(!strcmp(symbol, "cd-size")) { Closure->cdSize = Closure->savedCDSize = atoll(value); continue; }
if(!strcmp(symbol, "codec-threads")) { Closure->codecThreads = atoi(value); continue; }
@@ -305,8 +308,8 @@ void ReadDotfile()
}
if(fclose(dotfile))
g_fprintf(stderr, "Error closing configuration file %s: %s\n",
Closure->dotFile, strerror(errno));
g_printf("Error closing configuration file %s: %s\n",
Closure->dotFile, strerror(errno));
}
static void update_dotfile()
@@ -325,7 +328,7 @@ static void update_dotfile()
dotfile = portable_fopen(Closure->dotFile, "wb");
if(!dotfile)
{ g_fprintf(stderr, "Could not open configuration file %s: %s\n",
{ g_printf("Could not open configuration file %s: %s\n",
Closure->dotFile, strerror(errno));
return;
}
@@ -344,6 +347,7 @@ static void update_dotfile()
g_fprintf(dotfile, "auto-suffix: %d\n", Closure->autoSuffix);
g_fprintf(dotfile, "bd-size1: %lld\n", (long long int)Closure->bdSize1);
g_fprintf(dotfile, "bd-size2: %lld\n", (long long int)Closure->bdSize2);
g_fprintf(dotfile, "bd-size3: %lld\n", (long long int)Closure->bdSize3);
g_fprintf(dotfile, "cache-size: %d\n", Closure->cacheMiB);
g_fprintf(dotfile, "cd-size: %lld\n", (long long int)Closure->cdSize);
g_fprintf(dotfile, "codec-threads: %d\n", Closure->codecThreads);
@@ -400,8 +404,8 @@ static void update_dotfile()
save_colors(dotfile, "present-sector", Closure->darkSector);
if(fclose(dotfile))
g_fprintf(stderr, "Error closing configuration file %s: %s\n",
Closure->dotFile, strerror(errno));
g_printf("Error closing configuration file %s: %s\n",
Closure->dotFile, strerror(errno));
}
/***
@@ -419,7 +423,12 @@ void InitClosure()
/* Extract the version string */
#ifdef HAVE_UNSTABLE_RELEASE
Closure->cookedVersion = g_strdup_printf("%s (unstable)", VERSION);
Closure->releaseFlags = MFLAG_DEVEL;
#else
Closure->cookedVersion = g_strdup(VERSION);
#endif
/* Generate a more comprehensive version string */
@@ -491,6 +500,7 @@ void InitClosure()
Closure->dvdSize2 = Closure->savedDVDSize2 = DVD_DL_SIZE;
Closure->bdSize1 = Closure->savedBDSize1 = BD_SL_SIZE;
Closure->bdSize2 = Closure->savedBDSize2 = BD_DL_SIZE;
Closure->bdSize3 = Closure->savedBDSize3 = BDXL_TL_SIZE;
Closure->logString = g_string_sized_new(1024);
Closure->logLock = g_malloc0(sizeof(GMutex));
@@ -535,21 +545,6 @@ void LocalizedFileDefaults()
Closure->dDumpPrefix = g_strdup(_("sector-"));
}
/*
* Clear the CRC cache
*/
void ClearCrcCache(void)
{ if(Closure->crcCache)
g_free(Closure->crcCache);
if(Closure->crcImageName)
g_free(Closure->crcImageName);
Closure->crcCache = NULL;
Closure->crcImageName = NULL;
memset(Closure->md5Cache, 0, 16);
}
/*
* Clean up properly
*/
@@ -575,8 +570,6 @@ void FreeClosure()
if(Closure->guiMode)
update_dotfile();
ClearCrcCache();
cond_free(Closure->cookedVersion);
cond_free(Closure->versionString);
cond_free(Closure->device);

5
configure vendored
View File

@@ -19,7 +19,9 @@ fi
# Set the package name and version
PACKAGE dvdisaster 0.79.5
PACKAGE dvdisaster 0.79.6
CFG_HAVE_OPTIONS="$CFG_HAVE_OPTIONS -DHAVE_UNSTABLE_RELEASE"
# Check for some essential tools.
@@ -124,7 +126,6 @@ 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 efence no "[no | yes]"
if test "$cfg_with_efence" == "yes"; then
if ! CHECK_LIBRARY efence malloc efence; then

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
* CRC32 code based upon public domain code by Ross Williams (see notes below)
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org

211
crcbuf.c
View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
@@ -26,27 +26,133 @@
#include "rs02-includes.h"
/***
*** Create an uninitialized CRC buffer
*** Create a CRC buffer ready for accumulating CRC and MD5 sums
***/
CrcBuf *CreateCrcBuf(guint64 sectors)
{ CrcBuf *cb = g_malloc(sizeof(CrcBuf));
CrcBuf *CreateCrcBuf(Image *image)
{ CrcBuf *cb = g_malloc0(sizeof(CrcBuf));
cb->crcbuf = g_malloc(sectors * sizeof(guint32));
cb->size = sectors;
cb->valid = CreateBitmap0(sectors);
/* MD5 sum related data */
cb->md5Ctxt = g_malloc(sizeof(struct MD5Context));
MD5Init(cb->md5Ctxt);
cb->md5State = MD5_BUILDING;
cb->lastSector = 0;
memset(cb->dataMD5sum, 0, 16);
memset(cb->imageMD5sum, 0, 16);
/* image identification */
if(image->type == IMAGE_FILE)
cb->imageName = g_strdup(image->file->path);
/* For augmented images we need both the pure data size and the full size
in order to compute MD5 sums for both. Depending on what the user wants
to do with the image (create an ecc file or re-augment the image) we'll
need the first or the last version.
There's one catch, though: If the augmented image is accompanied with
an ecc file, we must treat the image as raw data; e.g. do not set
the data size to the portion protected by the augmented ecc.
Otherwise, the CRC sums from the ecc file which do also protect
the augmented ecc part will become unreachable. */
if(image->eccHeader && !image->eccFileHeader) /* augmented image, and no ecc file? */
{ cb->dataSectors = uchar_to_gint64(image->eccHeader->sectors);
if(image->type == IMAGE_FILE)
cb->allSectors = image->sectorSize;
else cb->allSectors = image->dh->sectors;
}
else
{ if(image->type == IMAGE_FILE)
cb->dataSectors = cb->allSectors = image->sectorSize;
else cb->dataSectors = cb->allSectors = image->dh->sectors;
}
/* Note: The following statement is not correct for RS03.
It does not hurt since RS03 will set the correct value when
the CrcBuf is created via RS03GetCrcBuf(), and in all other
cases it does currently not matter. Especially, CRC sums
created during an image read are not used when subsequently
creating new ecc data. */
cb->coveredSectors = cb->dataSectors;
/* Extract the fingerprint */
if(image->fpState == FP_PRESENT)
{ memcpy(cb->mediumFP, image->imageFP, 16);
cb->fpValid = TRUE;
}
cb->fpSector = image->fpSector;
/* CRC sum array */
cb->crcbuf = g_malloc(cb->allSectors * sizeof(guint32));
cb->crcSize = cb->allSectors;
cb->valid = CreateBitmap0(cb->allSectors);
image->crcCache = cb;
return cb;
}
/***
*** Test a 2048 byte block against the checksum in the buffer
***/
/*
* Add a 2048 byte block into the checksum buffer
*/
int AddSectorToCrcBuffer(CrcBuf *cb, int mode, guint64 idx, unsigned char *buf, int buf_size)
{ guint32 crc;
if(idx < 0 || idx >= cb->crcSize)
return CRC_OUTSIDE_BOUND;
/* Update the CRC sums */
if( (mode & CRCBUF_UPDATE_CRC)
|| ((mode & CRCBUF_UPDATE_CRC_AFTER_DATA) && idx >= cb->coveredSectors))
{ crc = Crc32(buf, 2048); /* should be buf_size, but remains at 2048 for backwards compatibility. */
cb->crcbuf[idx] = crc; /* does not harm except that the last sector is padded with the contents */
SetBit(cb->valid, idx); /* of the previous sector when reading an image file whole size is not */
} /* a multiple of 2048 */
/* Update the MD5 sums */
if(!(mode & CRCBUF_UPDATE_MD5))
return CRC_GOOD;
if(cb->lastSector != idx) /* sector out of order -> md5sum dead */
{ cb->md5State = MD5_INVALID;
return CRC_BAD;
}
cb->lastSector++;
if(idx <= cb->allSectors-1)
MD5Update(cb->md5Ctxt, buf, buf_size);
if(idx == cb->dataSectors-1)
{ MD5Context *dataCtxt = alloca(sizeof(MD5Context));
memcpy(dataCtxt, cb->md5Ctxt, sizeof(MD5Context));
MD5Final(cb->dataMD5sum, dataCtxt);
cb->md5State |= MD5_DATA_COMPLETE;
}
if(idx == cb->allSectors-1)
{ MD5Final(cb->imageMD5sum, cb->md5Ctxt);
cb->md5State |= MD5_IMAGE_COMPLETE;
cb->md5State &= ~MD5_BUILDING;
}
return CRC_GOOD;
}
/*
* Test a 2048 byte block against the checksum in the buffer
*/
int CheckAgainstCrcBuffer(CrcBuf *cb, gint64 idx, unsigned char *buf)
{ guint32 crc;
if(idx < 0 || idx >= cb->size)
if(idx < 0 || idx >= cb->crcSize)
return CRC_OUTSIDE_BOUND;
crc = Crc32(buf, 2048);
@@ -60,6 +166,36 @@ int CheckAgainstCrcBuffer(CrcBuf *cb, gint64 idx, unsigned char *buf)
return CRC_BAD;
}
/*
* Make sure that the current image and ecc file match the
* cached CRC and md5 informaton
*/
int CrcBufValid(CrcBuf *crcbuf, Image *image, EccHeader *eh)
{
if(!crcbuf)
{ Verbose("CrcBufValid: crcbuf==NULL\n");
return FALSE;
}
/* if still in building state we do not have all CRC sums */
if(crcbuf->md5State & MD5_BUILDING)
{ Verbose("CrcBufValid: NO, still building\n");
return FALSE;
}
/* presence of one MD5 sum suffices (data md5sum may not be present
under some circumstances) */
if((!(crcbuf->md5State & MD5_COMPLETE)))
{ Verbose("CrcBufValid: NOT complete\n");
return FALSE;
}
Verbose("CrcBufValid: buffer VALID\n");
return TRUE;
}
/***
*** Clean up
@@ -67,7 +203,60 @@ int CheckAgainstCrcBuffer(CrcBuf *cb, gint64 idx, unsigned char *buf)
void FreeCrcBuf(CrcBuf *cb)
{
if(!cb)
{ Verbose("FreeCrcBuf - nothing to do\n");
return;
}
g_free(cb->crcbuf);
FreeBitmap(cb->valid);
if(cb->imageName)
g_free(cb->imageName);
if(cb->md5Ctxt)
g_free(cb->md5Ctxt);
g_free(cb);
Verbose("FreeCrcBuf - buffer cleared\n");
}
/***
*** Debugging output
***/
void PrintCrcBuf(CrcBuf *cb)
{ char digest[33];
guint64 i,missing=0;
if(!Closure->verbose)
return;
PrintLog("CrcBuf contents, image path %s:\n", cb->imageName ? cb->imageName : "none (medium)" );
PrintLog(" crcSize: %lld, dataSectors: %lld, coveredSectors: %lld, allSectors: %lld\n",
cb->crcSize, cb->dataSectors, cb->coveredSectors, cb->allSectors);
PrintLog(" md5State:");
if(cb->md5State)
{ if(cb->md5State & MD5_BUILDING) PrintLog(" building");
if(cb->md5State & MD5_DATA_COMPLETE) PrintLog(" data_complete");
if(cb->md5State & MD5_IMAGE_COMPLETE) PrintLog(" image_complete");
}
else PrintLog(" invalid");
PrintLog("\n");
if(cb->md5State & MD5_COMPLETE)
{ AsciiDigest(digest, cb->dataMD5sum);
PrintLog(" data: %s\n", digest);
AsciiDigest(digest, cb->imageMD5sum);
PrintLog(" full: %s\n", digest);
}
AsciiDigest(digest, cb->mediumFP);
if(cb->fpValid)
PrintLog(" fp sector: %d; %s\n", cb->fpSector, digest);
else PrintLog(" fp sector: %d; invalid\n", cb->fpSector);
for(i=0; i<cb->crcSize; i++)
if(!GetBit(cb->valid, i))
{ missing++;
}
PrintLog(" missing crcs: %lld\n", missing);
}

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
@@ -123,7 +123,7 @@ int CurveLogY(Curve *curve, gdouble y) /* not really a log */
hfact = (gdouble)(curve->bottomLY - curve->topLY);
if(y==1) return curve->bottomLY - ((log(2)/log(curve->logMaxY)) * hfact)/2;
return curve->bottomLY - (log(y)/log(curve->logMaxY)) * hfact;
else return curve->bottomLY - (log(y)/log(curve->logMaxY)) * hfact;
}
/***

7
debian/changelog vendored
View File

@@ -1,3 +1,10 @@
dvdisaster (0.79.6-1) experimental; urgency=medium
* New upstream development version [0.79.6].
* Rebase patches.
-- Carlos Maddela <e7appew@gmail.com> Thu, 21 Dec 2017 05:51:54 +1100
dvdisaster (0.79.5-4) unstable; urgency=medium
* Use complete Debian revision number as build number, instead of

View File

@@ -12,10 +12,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scsi-layer.c b/scsi-layer.c
index d68533b..6717b12 100644
index cad13d4..866b7ac 100644
--- a/scsi-layer.c
+++ b/scsi-layer.c
@@ -2711,12 +2711,13 @@ Image* OpenImageFromDevice(char *device)
@@ -2695,12 +2695,13 @@ Image* OpenImageFromDevice(char *device)
return NULL;
}
}

View File

@@ -12,7 +12,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 5 insertions(+)
diff --git a/scsi-layer.c b/scsi-layer.c
index 6717b12..64a3dba 100644
index 866b7ac..b3a9d0e 100644
--- a/scsi-layer.c
+++ b/scsi-layer.c
@@ -908,6 +908,11 @@ static int query_dvd(DeviceHandle *dh, int probe_only)

View File

@@ -16,7 +16,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/help-dialogs.c b/help-dialogs.c
index 4d6f9bb..eae04f2 100644
index c486613..758ac19 100644
--- a/help-dialogs.c
+++ b/help-dialogs.c
@@ -403,7 +403,7 @@ void ShowGPL()

View File

@@ -20,7 +20,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/bash-based-configure b/scripts/bash-based-configure
index f68ecab..d62f5d7 100644
index 6baffde..f1a8bd1 100644
--- a/scripts/bash-based-configure
+++ b/scripts/bash-based-configure
@@ -313,13 +313,13 @@ function REQUIRE_GMAKE()

View File

@@ -5,15 +5,15 @@ Subject: Do not install cruft.
Description: Do not install cruft.
Author: Carlos Maddela <e7appew@gmail.com>
Forwarded: not-needed
Last-Update: 2017-01-05
Last-Update: 2017-12-21
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---
GNUmakefile.template | 26 --------------------------
1 file changed, 26 deletions(-)
GNUmakefile.template | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/GNUmakefile.template b/GNUmakefile.template
index a3074c7..6fda92b 100644
index 77a57bf..6fda92b 100644
--- a/GNUmakefile.template
+++ b/GNUmakefile.template
@@ -228,12 +228,6 @@ install: dvdisaster manual
@@ -29,28 +29,21 @@ index a3074c7..6fda92b 100644
(cd documentation/user-manual; install -m 644 manual.pdf $(BUILDROOT)$(DOCSUBDIR))
install -d $(BUILDROOT)$(MANDIR)/man1
install -d $(BUILDROOT)$(MANDIR)/de/man1
@@ -251,26 +245,6 @@ install: dvdisaster manual
@@ -251,19 +245,6 @@ install: dvdisaster manual
install -m 644 $$i/LC_MESSAGES/dvdisaster.mo $(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES; \
done \
fi
- @echo "# dvdisaster uninstaller script" > $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "# Usage: sh dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f \"$(BINDIR)/dvdisaster\" \"$(BINDIR)/dvdisaster-uninstall.sh\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f \"$(DOCSUBDIR)/CHANGELOG\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f \"$(DOCSUBDIR)/COPYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f \"$(DOCSUBDIR)/CREDITS.de\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f \"$(DOCSUBDIR)/CREDITS.en\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f \"$(DOCSUBDIR)/manual.pdf\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f \"$(DOCSUBDIR)/README.MODIFYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f \"$(DOCSUBDIR)/TODO\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rmdir \"$(DOCSUBDIR)\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -rf $(DOCSUBDIR)" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @for i in $(PO_LOCALES); do \
- echo "rm -f \"$(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
- echo "rm $(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
- done
- @echo "rm -f \"$(MANDIR)/man1/dvdisaster.1\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @echo "rm -f $(MANDIR)/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
- @for i in $(MAN_LOCALES); do \
- echo "rm -f \"$(MANDIR)/$$i/man1/dvdisaster.1\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
- echo "rm $(MANDIR)/$$i/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
- done
- @echo "echo \"dvdisaster has been uninstalled.\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh

View File

@@ -5,7 +5,7 @@ Subject: Fix spelling: upto -> up to
Description: Fix spelling: upto -> up to
Author: Carlos Maddela <e7appew@gmail.com>
Forwarded: no
Last-Update: 2017-01-05
Last-Update: 2017-12-21
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---
@@ -26,7 +26,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
14 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/debug.c b/debug.c
index df70416..b4ffc21 100644
index b4a96d1..bd725d6 100644
--- a/debug.c
+++ b/debug.c
@@ -1023,7 +1023,7 @@ void RawSector(char *arg)
@@ -52,7 +52,7 @@ index ebb1ee5..a8c0d90 100644
figure. The next ecc blocks are calculated and stored accordingly.
In total, the ecc section contains $k*ls$ bytes of parity information,
diff --git a/documentation/codec-specs/rs02.tex b/documentation/codec-specs/rs02.tex
index 3cf5fb1..c026772 100644
index 69195a0..fb88384 100644
--- a/documentation/codec-specs/rs02.tex
+++ b/documentation/codec-specs/rs02.tex
@@ -133,7 +133,7 @@ Its format is described in appendix \ref{eh}. For RS02, only the data fields
@@ -65,10 +65,10 @@ index 3cf5fb1..c026772 100644
to the nearest multiple of 2048.
CRC32 checksums are calculated over a whole CD sector comprising 2048 bytes.
diff --git a/documentation/dvdisaster.en.1 b/documentation/dvdisaster.en.1
index 028c6e0..95faa5a 100644
index 3472012..d71abec 100644
--- a/documentation/dvdisaster.en.1
+++ b/documentation/dvdisaster.en.1
@@ -274,7 +274,7 @@ Selects between the sg (SG_IO) driver (default setting) and the
@@ -279,7 +279,7 @@ Selects between the sg (SG_IO) driver (default setting) and the
older cdrom (CDROM_SEND_PACKET) driver for accessing the optical drives.
Both drivers should work equally well; however the cdrom driver is known
to cause system failures on some ancient SCSI controllers.
@@ -77,7 +77,7 @@ index 028c6e0..95faa5a 100644
if the now pre-selected sg driver changes something to the worse for you
please switch back to the older driver using \-\-driver=cdrom.
.TP
@@ -376,7 +376,7 @@ the uncorrected sector instead.
@@ -384,7 +384,7 @@ the uncorrected sector instead.
.RE
.TP
.B \-\-read-attempts n-m
@@ -87,10 +87,10 @@ index 028c6e0..95faa5a 100644
.B \-\-read-medium n
read the whole medium up to n times.
diff --git a/documentation/user-manual/qa.tex b/documentation/user-manual/qa.tex
index 5d4b35a..91befa1 100644
index a3465a8..d79ca4d 100644
--- a/documentation/user-manual/qa.tex
+++ b/documentation/user-manual/qa.tex
@@ -457,6 +457,6 @@ drive for reading images in these cases.}
@@ -465,6 +465,6 @@ drive for reading images in these cases.}
\qa{``Ecc file has been created with version 0.40.7.''}
{Some developer versions of dvdisaster mark their ecc files with a special bit.
@@ -99,10 +99,10 @@ index 5d4b35a..91befa1 100644
message. Please use the developer versions only together with dvdisaster
0.66 or newer versions. }
diff --git a/dvdisaster.c b/dvdisaster.c
index a24e599..d549676 100644
index 6742d99..6840fd5 100644
--- a/dvdisaster.c
+++ b/dvdisaster.c
@@ -917,7 +917,7 @@ int main(int argc, char *argv[])
@@ -930,7 +930,7 @@ int main(int argc, char *argv[])
PrintCLI(_(" --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n"));
PrintCLI(_(" --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMiB)\n"));
PrintCLI(_(" --raw-mode n - mode for raw reading CD media (20 or 21)\n"));
@@ -110,12 +110,12 @@ index a24e599..d549676 100644
+ PrintCLI(_(" --read-attempts n-m - attempts n up to m reads of a defective sector\n"));
PrintCLI(_(" --read-medium n - read the whole medium up to n times\n"));
PrintCLI(_(" --read-raw - performs read in raw mode if possible\n"));
PrintCLI(_(" --resource-file p - get resource file from given path\n"));
PrintCLI(_(" --regtest - tweaks output for compatibility with regtests\n"));
diff --git a/dvdisaster.h b/dvdisaster.h
index 2507ab9..db2031e 100644
index 7fb980b..a466450 100644
--- a/dvdisaster.h
+++ b/dvdisaster.h
@@ -101,7 +101,7 @@
@@ -112,7 +112,7 @@
#define MAX_CODEC_THREADS 1024 /* not including IO and GUI */
#define MAX_OLD_CACHE_SIZE 8096 /* old cache for RS01/RS02 */
@@ -124,7 +124,7 @@ index 2507ab9..db2031e 100644
/* Choices for I/O strategy */
@@ -364,7 +364,7 @@ typedef struct _LargeFile
@@ -376,7 +376,7 @@ typedef struct _LargeFile
#define FINGERPRINT_SECTOR 16 /* Sector currently used to calculate the fingerprint. */
/* This is the ISO filesystem root sector which contains */
/* the volume label and creation time stamps. */
@@ -134,19 +134,19 @@ index 2507ab9..db2031e 100644
#define MFLAG_DEVEL (1<<0) /* for methodFlags[3] */
diff --git a/locale/cs.po b/locale/cs.po
index bdec530..ed1fc65 100644
index 3274de9..4f766a3 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -658,7 +658,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
@@ -662,7 +662,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
msgstr " --raw-mode n - režim přímého čtení pro CD disky (20 nebo 21)\n"
#: dvdisaster.c:920
#: dvdisaster.c:933
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
msgstr " --read-attempts n-m - zkusit n až m opakovaných čtení poškozeného sektoru\n"
#: dvdisaster.c:921
@@ -2000,7 +2000,7 @@ msgstr "Přečtení sektoru nezkoušet více než %d krát"
#: dvdisaster.c:934
@@ -2014,7 +2014,7 @@ msgstr "Přečtení sektoru nezkoušet více než %d krát"
msgid ""
"<b>Maximum number of reading attempts</b>\n"
"\n"
@@ -155,7 +155,7 @@ index bdec530..ed1fc65 100644
"\n"
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
msgstr ""
@@ -2072,7 +2072,7 @@ msgstr " krát"
@@ -2086,7 +2086,7 @@ msgstr " krát"
msgid ""
"<b>Media read attempts</b> for the linear reading strategy\n"
"\n"
@@ -165,19 +165,19 @@ index bdec530..ed1fc65 100644
"Only the missing sectors will be tried in the additional reading passes."
msgstr ""
diff --git a/locale/de.po b/locale/de.po
index af978eb..bbbfdcc 100644
index b252c19..5b47778 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -700,7 +700,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
@@ -704,7 +704,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
msgstr " --raw-mode n - \"raw-modus\" zum Lesen von CD (20 or 21)\n"
#: dvdisaster.c:920
#: dvdisaster.c:933
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
msgstr " --read-attempts n-m - versucht beschädigten Sektor n bis m-mal zu lesen\n"
#: dvdisaster.c:921
@@ -2057,7 +2057,7 @@ msgstr "Höchstens %d Leseversuche pro Sektor"
#: dvdisaster.c:934
@@ -2073,7 +2073,7 @@ msgstr "Höchstens %d Leseversuche pro Sektor"
msgid ""
"<b>Maximum number of reading attempts</b>\n"
"\n"
@@ -186,7 +186,7 @@ index af978eb..bbbfdcc 100644
"\n"
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
msgstr ""
@@ -2129,7 +2129,7 @@ msgstr " mal lesen"
@@ -2145,7 +2145,7 @@ msgstr " mal lesen"
msgid ""
"<b>Media read attempts</b> for the linear reading strategy\n"
"\n"
@@ -196,19 +196,19 @@ index af978eb..bbbfdcc 100644
"Only the missing sectors will be tried in the additional reading passes."
msgstr ""
diff --git a/locale/it.po b/locale/it.po
index 9f3a97b..a074339 100644
index efd3d27..f6e9dfd 100644
--- a/locale/it.po
+++ b/locale/it.po
@@ -625,7 +625,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
@@ -629,7 +629,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
msgstr ""
#: dvdisaster.c:920
#: dvdisaster.c:933
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
msgstr ""
#: dvdisaster.c:921
@@ -1824,7 +1824,7 @@ msgstr ""
#: dvdisaster.c:934
@@ -1838,7 +1838,7 @@ msgstr ""
msgid ""
"<b>Maximum number of reading attempts</b>\n"
"\n"
@@ -217,7 +217,7 @@ index 9f3a97b..a074339 100644
"\n"
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
msgstr ""
@@ -1883,7 +1883,7 @@ msgstr ""
@@ -1897,7 +1897,7 @@ msgstr ""
msgid ""
"<b>Media read attempts</b> for the linear reading strategy\n"
"\n"
@@ -226,7 +226,7 @@ index 9f3a97b..a074339 100644
"\n"
"Only the missing sectors will be tried in the additional reading passes."
msgstr ""
@@ -6054,7 +6054,7 @@ msgstr ""
@@ -6086,7 +6086,7 @@ msgstr ""
#~ msgstr "Se potete verificate se la dimensione dell'immagine è corretta,\n"
#~ msgid ""
@@ -236,19 +236,19 @@ index 9f3a97b..a074339 100644
#~ msgstr ""
#~ "Prego inviare l'intero output di dvdisaster fino a questa linea\n"
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index b557c84..573531b 100644
index 21ea77b..86eda03 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -641,7 +641,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
@@ -645,7 +645,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
msgstr " --raw-mode n - modo para leitura de mídia CD em modo raw (20 ou 21)\n"
#: dvdisaster.c:920
#: dvdisaster.c:933
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
msgstr " --read-attempts n-m - tenta de n a m leituras em um setor defeituoso\n"
#: dvdisaster.c:921
@@ -1935,7 +1935,7 @@ msgstr "Máx. de %d tentativas de leitura por setor"
#: dvdisaster.c:934
@@ -1949,7 +1949,7 @@ msgstr "Máx. de %d tentativas de leitura por setor"
msgid ""
"<b>Maximum number of reading attempts</b>\n"
"\n"
@@ -257,7 +257,7 @@ index b557c84..573531b 100644
"\n"
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
msgstr ""
@@ -2007,7 +2007,7 @@ msgstr " vezes"
@@ -2021,7 +2021,7 @@ msgstr " vezes"
msgid ""
"<b>Media read attempts</b> for the linear reading strategy\n"
"\n"
@@ -266,7 +266,7 @@ index b557c84..573531b 100644
"\n"
"Only the missing sectors will be tried in the additional reading passes."
msgstr ""
@@ -6450,7 +6450,7 @@ msgstr "<i>Novidades dessa versão:</i>"
@@ -6482,7 +6482,7 @@ msgstr "<i>Novidades dessa versão:</i>"
#~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n"
#~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n"
#~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
@@ -275,7 +275,7 @@ index b557c84..573531b 100644
#~ " --read-medium n - read the whole medium up to n times\n"
#~ " --read-raw - performs read in raw mode if possible\n"
#~ " --speed-warning n - print warning if speed changes by more than n percent\n"
@@ -6469,7 +6469,7 @@ msgstr "<i>Novidades dessa versão:</i>"
@@ -6501,7 +6501,7 @@ msgstr "<i>Novidades dessa versão:</i>"
#~ msgid ""
#~ "<b>File splitting</b>\n"
#~ "\n"
@@ -285,19 +285,19 @@ index b557c84..573531b 100644
#~ "<b>Separação de arquivos</b>\n"
#~ "\n"
diff --git a/locale/ru.po b/locale/ru.po
index 34b1796..a9fc25c 100644
index 767f906..7984c59 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -640,7 +640,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
@@ -644,7 +644,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
msgstr " --raw-mode n - режим для низкоуровневого чтения CD-носителей (20 или 21)\n"
#: dvdisaster.c:920
#: dvdisaster.c:933
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
msgstr " --read-attempts n-m - делается от n до m попыток чтения поврежденного сектора\n"
#: dvdisaster.c:921
@@ -1938,7 +1938,7 @@ msgstr "Макс. %d попыток чтения на сектор"
#: dvdisaster.c:934
@@ -1952,7 +1952,7 @@ msgstr "Макс. %d попыток чтения на сектор"
msgid ""
"<b>Maximum number of reading attempts</b>\n"
"\n"
@@ -306,7 +306,7 @@ index 34b1796..a9fc25c 100644
"\n"
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
msgstr ""
@@ -2010,7 +2010,7 @@ msgstr " раз"
@@ -2024,7 +2024,7 @@ msgstr " раз"
msgid ""
"<b>Media read attempts</b> for the linear reading strategy\n"
"\n"
@@ -315,7 +315,7 @@ index 34b1796..a9fc25c 100644
"\n"
"Only the missing sectors will be tried in the additional reading passes."
msgstr ""
@@ -6511,7 +6511,7 @@ msgstr "<i>Новое в этой версии:</i>"
@@ -6543,7 +6543,7 @@ msgstr "<i>Новое в этой версии:</i>"
#~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n"
#~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n"
#~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
@@ -324,7 +324,7 @@ index 34b1796..a9fc25c 100644
#~ " --read-medium n - read the whole medium up to n times\n"
#~ " --read-raw - performs read in raw mode if possible\n"
#~ " --speed-warning n - print warning if speed changes by more than n percent\n"
@@ -6528,7 +6528,7 @@ msgstr "<i>Новое в этой версии:</i>"
@@ -6560,7 +6560,7 @@ msgstr "<i>Новое в этой версии:</i>"
#~ msgid ""
#~ "<b>File splitting</b>\n"
#~ "\n"
@@ -333,7 +333,7 @@ index 34b1796..a9fc25c 100644
#~ msgstr ""
#~ "<b>Разбиение файлов</b>\n"
#~ "\n"
@@ -6574,7 +6574,7 @@ msgstr "<i>Новое в этой версии:</i>"
@@ -6606,7 +6606,7 @@ msgstr "<i>Новое в этой версии:</i>"
#~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n"
#~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n"
#~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
@@ -343,19 +343,19 @@ index 34b1796..a9fc25c 100644
#~ " --read-raw - performs read in raw mode if possible\n"
#~ " --speed-warning n - print warning if speed changes by more than n percent\n"
diff --git a/locale/sv.po b/locale/sv.po
index f69035e..9f70808 100644
index 548e2e5..c74a942 100644
--- a/locale/sv.po
+++ b/locale/sv.po
@@ -626,7 +626,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
@@ -630,7 +630,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
msgstr ""
#: dvdisaster.c:920
#: dvdisaster.c:933
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
msgstr ""
#: dvdisaster.c:921
@@ -1830,7 +1830,7 @@ msgstr ""
#: dvdisaster.c:934
@@ -1844,7 +1844,7 @@ msgstr ""
msgid ""
"<b>Maximum number of reading attempts</b>\n"
"\n"
@@ -364,7 +364,7 @@ index f69035e..9f70808 100644
"\n"
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
msgstr ""
@@ -1889,7 +1889,7 @@ msgstr ""
@@ -1903,7 +1903,7 @@ msgstr ""
msgid ""
"<b>Media read attempts</b> for the linear reading strategy\n"
"\n"
@@ -374,7 +374,7 @@ index f69035e..9f70808 100644
"Only the missing sectors will be tried in the additional reading passes."
msgstr ""
diff --git a/preferences.c b/preferences.c
index 4f1fe5c..f5ef889 100644
index 70afa02..4899317 100644
--- a/preferences.c
+++ b/preferences.c
@@ -2221,7 +2221,7 @@ void CreatePreferencesWindow(void)

View File

@@ -14,7 +14,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index 573531b..04b33b5 100644
index 86eda03..f3437f3 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -11,7 +11,7 @@ msgstr ""
@@ -27,7 +27,7 @@ index 573531b..04b33b5 100644
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/locale/ru.po b/locale/ru.po
index a9fc25c..6cd3789 100644
index 7984c59..1bc7324 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -13,7 +13,7 @@ msgstr ""

View File

@@ -21,7 +21,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
7 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/build.c b/build.c
index 1666795..05a3b24 100644
index 0e99b22..65b17cd 100644
--- a/build.c
+++ b/build.c
@@ -25,4 +25,4 @@
@@ -31,10 +31,10 @@ index 1666795..05a3b24 100644
-int buildCount = BUILD;
+const char *const buildCount = BUILD;
diff --git a/closure.c b/closure.c
index 7568cba..51e91a2 100644
index 58ba86f..d633d53 100644
--- a/closure.c
+++ b/closure.c
@@ -433,7 +433,7 @@ void InitClosure()
@@ -442,7 +442,7 @@ void InitClosure()
#define BITNESS_STRING ""
#endif
@@ -44,10 +44,10 @@ index 7568cba..51e91a2 100644
/* Replace the dot with a locale-resistant separator */
diff --git a/dvdisaster.h b/dvdisaster.h
index db2031e..bcfd4f5 100644
index a466450..9acd094 100644
--- a/dvdisaster.h
+++ b/dvdisaster.h
@@ -450,7 +450,7 @@ void FreeBitmap(Bitmap*);
@@ -463,7 +463,7 @@ void FreeBitmap(Bitmap*);
*** build.h
***/
@@ -57,10 +57,10 @@ index db2031e..bcfd4f5 100644
/***
*** cacheprobe.h
diff --git a/locale/cs.po b/locale/cs.po
index ed1fc65..24b1e7c 100644
index 4f766a3..453ec07 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -6476,11 +6476,11 @@ msgstr "<i>Novinky v této verzi:</i>"
@@ -6511,11 +6511,11 @@ msgstr "<i>Novinky v této verzi:</i>"
#~ msgid ""
#~ "\n"
@@ -75,10 +75,10 @@ index ed1fc65..24b1e7c 100644
#~ msgid "--prefetch-sectors must be in range 32...8096"
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index 04b33b5..012ce9e 100644
index f3437f3..f7f6af0 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -6200,11 +6200,11 @@ msgstr "<i>Novidades dessa versão:</i>"
@@ -6232,11 +6232,11 @@ msgstr "<i>Novidades dessa versão:</i>"
#~ msgid ""
#~ "\n"
@@ -93,10 +93,10 @@ index 04b33b5..012ce9e 100644
#~ msgid "--cache-size maximum is 8192MiB."
#~ msgstr "--cache-size máximo é 8192MiB."
diff --git a/locale/ru.po b/locale/ru.po
index 6cd3789..912d6fb 100644
index 1bc7324..9625a1f 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -6215,11 +6215,11 @@ msgstr "<i>Новое в этой версии:</i>"
@@ -6247,11 +6247,11 @@ msgstr "<i>Новое в этой версии:</i>"
#~ msgid ""
#~ "\n"

View File

@@ -14,7 +14,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/help-dialogs.c b/help-dialogs.c
index eae04f2..c89c552 100644
index 758ac19..47551f7 100644
--- a/help-dialogs.c
+++ b/help-dialogs.c
@@ -750,7 +750,7 @@ void AboutDialog()

View File

@@ -6,23 +6,20 @@ Description: Fix all warnings except for those related to deprecated API.
Author: Carlos Maddela <e7appew@gmail.com>
Bug-Debian: https://bugs.debian.org/748416
Forwarded: no
Last-Update: 2017-01-05
Last-Update: 2017-12-21
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---
closure.c | 8 +++++---
curve.c | 2 +-
closure.c | 2 +-
menubar.c | 2 +-
rs01-create.c | 10 +++++-----
rs01-verify.c | 2 +-
rs03-create.c | 24 ++++++++++++------------
rs03-fix.c | 8 ++++----
scsi-layer.c | 4 ++++
smart-lec.c | 10 +++++-----
9 files changed, 38 insertions(+), 32 deletions(-)
6 files changed, 27 insertions(+), 23 deletions(-)
diff --git a/closure.c b/closure.c
index 51e91a2..40bb225 100644
index d633d53..fa52f09 100644
--- a/closure.c
+++ b/closure.c
@@ -196,7 +196,7 @@ void ReadDotfile()
@@ -34,38 +31,8 @@ index 51e91a2..40bb225 100644
if(!line[MAX_LINE_LEN-1]) /* line longer than buffer */
while(!feof(dotfile) && fgetc(dotfile) != '\n')
;
@@ -225,12 +225,14 @@ void ReadDotfile()
if(!strcmp(symbol, "last-image")) { g_free(Closure->imageName);
if(!strcmp(value, "none"))
Closure->imageName = g_strdup("");
- else Closure->imageName = g_strdup(value); continue;
+ else Closure->imageName = g_strdup(value);
+ continue;
}
if(!strcmp(symbol, "last-ecc")) { g_free(Closure->eccName);
if(!strcmp(value, "none"))
Closure->eccName = g_strdup("");
- else Closure->eccName = g_strdup(value); continue;
+ else Closure->eccName = g_strdup(value);
+ continue;
}
if(!strcmp(symbol, "adaptive-read")) { Closure->adaptiveRead = atoi(value); continue; }
if(!strcmp(symbol, "auto-suffix")) { Closure->autoSuffix = atoi(value); continue; }
diff --git a/curve.c b/curve.c
index 668bc40..61b81a9 100644
--- a/curve.c
+++ b/curve.c
@@ -123,7 +123,7 @@ int CurveLogY(Curve *curve, gdouble y) /* not really a log */
hfact = (gdouble)(curve->bottomLY - curve->topLY);
if(y==1) return curve->bottomLY - ((log(2)/log(curve->logMaxY)) * hfact)/2;
- return curve->bottomLY - (log(y)/log(curve->logMaxY)) * hfact;
+ return curve->bottomLY - (log(y)/log(curve->logMaxY)) * hfact;
}
/***
diff --git a/menubar.c b/menubar.c
index 8258cfd..12f1933 100644
index 94d462b..ee24ebe 100644
--- a/menubar.c
+++ b/menubar.c
@@ -414,7 +414,7 @@ void set_path(GtkWidget *entry, char *path)
@@ -77,43 +44,8 @@ index 8258cfd..12f1933 100644
strcat(buf,"/");
strcat(buf,path);
diff --git a/rs01-create.c b/rs01-create.c
index 5cad591..88c352a 100644
--- a/rs01-create.c
+++ b/rs01-create.c
@@ -107,12 +107,12 @@ static void unlink_image(GtkWidget *label)
_("\nImage file %s deleted.\n"), Closure->imageName);
}
else
- { if(!Closure->guiMode)
- PrintLog("\n");
+ { if(!Closure->guiMode)
+ PrintLog("\n");
- ModalWarning(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, NULL,
- _("Image file %s not deleted: %s\n"),
- Closure->imageName, strerror(errno));
+ ModalWarning(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, NULL,
+ _("Image file %s not deleted: %s\n"),
+ Closure->imageName, strerror(errno));
}
}
diff --git a/rs01-verify.c b/rs01-verify.c
index 3315659..431a6d0 100644
--- a/rs01-verify.c
+++ b/rs01-verify.c
@@ -830,7 +830,7 @@ process_ecc:
{ if(!Closure->guiMode)
PrintProgress(_("- ecc md5sum : %3d%%"),percent);
else SetLabelText(GTK_LABEL(wl->cmpEccMd5Sum), "%3d%%", percent);
- last_percent = percent;
+ last_percent = percent;
}
if(Closure->stopActions)
diff --git a/rs03-create.c b/rs03-create.c
index 40066d2..b2c6033 100644
index 71460ef..9c7265d 100644
--- a/rs03-create.c
+++ b/rs03-create.c
@@ -31,9 +31,9 @@
@@ -128,7 +60,7 @@ index 40066d2..b2c6033 100644
#endif
#ifdef HAVE_MMAP
@@ -688,7 +688,7 @@ static void flush_crc(ecc_closure *ec, LargeFile *file_out)
@@ -714,7 +714,7 @@ static void flush_crc(ecc_closure *ec, LargeFile *file_out)
/* Write out the CRC layer */
@@ -137,7 +69,7 @@ index 40066d2..b2c6033 100644
crc_sect = 2048*(ec->encoderChunk+lay->firstCrcPos);
if(!LargeSeek(file_out, crc_sect))
{ ec->abortImmediately = TRUE;
@@ -709,7 +709,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
@@ -735,7 +735,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
/* Write out the created parity. */
@@ -146,7 +78,7 @@ index 40066d2..b2c6033 100644
for(k=0; k<lay->nroots; k++)
{ gint64 idx=0;
@@ -726,7 +726,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
@@ -752,7 +752,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
}
}
}
@@ -155,7 +87,7 @@ index 40066d2..b2c6033 100644
}
static gpointer io_thread(ecc_closure *ec)
@@ -741,7 +741,7 @@ static gpointer io_thread(ecc_closure *ec)
@@ -767,7 +767,7 @@ static gpointer io_thread(ecc_closure *ec)
int parity_available = 0;
int i;
@@ -164,7 +96,7 @@ index 40066d2..b2c6033 100644
/*** Allocate local parity buffer aligned at 128bit boundary */
@@ -809,7 +809,7 @@ static gpointer io_thread(ecc_closure *ec)
@@ -835,7 +835,7 @@ static gpointer io_thread(ecc_closure *ec)
{ read_next_chunk(ec, chunk);
// flush_crc(ec, file_out); // FIXME
needs_preload = 0;
@@ -173,7 +105,7 @@ index 40066d2..b2c6033 100644
continue;
}
@@ -856,7 +856,7 @@ static gpointer io_thread(ecc_closure *ec)
@@ -882,7 +882,7 @@ static gpointer io_thread(ecc_closure *ec)
g_mutex_lock(ec->lock);
cpu_bound = ec->buffersToEncode;
while(ec->buffersToEncode)
@@ -182,7 +114,7 @@ index 40066d2..b2c6033 100644
g_cond_wait(ec->ioCond, ec->lock);
}
g_mutex_unlock(ec->lock);
@@ -898,7 +898,7 @@ static gpointer io_thread(ecc_closure *ec)
@@ -924,7 +924,7 @@ static gpointer io_thread(ecc_closure *ec)
ec->slicesFree = TRUE; /* we have saved the slices; go ahead */
g_cond_broadcast(ec->ioCond);
while(ec->buffersToEncode)
@@ -191,7 +123,7 @@ index 40066d2..b2c6033 100644
g_cond_wait(ec->ioCond, ec->lock);
}
g_mutex_unlock(ec->lock);
@@ -911,7 +911,7 @@ static gpointer io_thread(ecc_closure *ec)
@@ -937,7 +937,7 @@ static gpointer io_thread(ecc_closure *ec)
flush_crc(ec, file_out);
flush_parity(ec, file_out);
@@ -200,7 +132,7 @@ index 40066d2..b2c6033 100644
return NULL;
}
@@ -1098,7 +1098,7 @@ static gpointer encoder_thread(ecc_closure *ec)
@@ -1123,7 +1123,7 @@ static gpointer encoder_thread(ecc_closure *ec)
ec->buffersToEncode-=enc_size;
if(!ec->buffersToEncode)
{ g_cond_broadcast(ec->ioCond);
@@ -209,7 +141,7 @@ index 40066d2..b2c6033 100644
fflush(stdout);
}
g_mutex_unlock(ec->lock);
@@ -1198,7 +1198,7 @@ static void create_reed_solomon(ecc_closure *ec)
@@ -1223,7 +1223,7 @@ static void create_reed_solomon(ecc_closure *ec)
verbose("SCHED: joined with worker %d\n", i);
fflush(stdout);
}
@@ -219,7 +151,7 @@ index 40066d2..b2c6033 100644
/***
diff --git a/rs03-fix.c b/rs03-fix.c
index 0a7a1d3..e162e5e 100644
index 7afb6d6..19b9322 100644
--- a/rs03-fix.c
+++ b/rs03-fix.c
@@ -829,10 +829,10 @@ void RS03Fix(Image *image)
@@ -235,10 +167,10 @@ index 0a7a1d3..e162e5e 100644
+ Stop(_("Failed seeking to sector %lld in ecc file [%s]: %s"),
+ sec, "FW", strerror(errno));
n = LargeWrite(image->eccFile, cache_offset+fc->imgBlock[i], 2048);
if(n != 2048)
n = LargeWrite(image->eccFile, cache_offset+fc->imgBlock[i], 2048);
if(n != 2048)
diff --git a/scsi-layer.c b/scsi-layer.c
index 64a3dba..3be21ff 100644
index b3a9d0e..f8d2112 100644
--- a/scsi-layer.c
+++ b/scsi-layer.c
@@ -31,7 +31,9 @@
@@ -268,7 +200,7 @@ index 64a3dba..3be21ff 100644
/*
* See whether a sector lies within the user area.
diff --git a/smart-lec.c b/smart-lec.c
index 8da74ff..0355879 100644
index 02b9c49..944b70d 100644
--- a/smart-lec.c
+++ b/smart-lec.c
@@ -27,9 +27,9 @@

View File

@@ -5,7 +5,7 @@ Subject: Update copyright notice in about dialog.
Description: Update copyright notice in about dialog.
Author: Carlos Maddela <e7appew@gmail.com>
Forwarded: not-needed
Last-Update: 2017-01-05
Last-Update: 2017-12-21
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---
@@ -13,7 +13,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/help-dialogs.c b/help-dialogs.c
index c89c552..0f4e3b2 100644
index 47551f7..3f94920 100644
--- a/help-dialogs.c
+++ b/help-dialogs.c
@@ -723,8 +723,9 @@ void AboutDialog()
@@ -21,10 +21,10 @@ index c89c552..0f4e3b2 100644
#ifdef MODIFIED_SOURCE
- AboutTextWithLink(vbox,
- _("Modified version Copyright 2015 (please fill in - [directions])\n"
- _("Modified version Copyright 2017 (please fill in - [directions])\n"
+ AboutTextWithLink(vbox,
+ _("[Modified version]\n"
+ "Copyright 2005-2016 Debian Optical Media Tools Team\n"
"Copyright 2004-2015 Carsten Gnoerlich"),
+ "Copyright 2005-2017 Debian Optical Media Tools Team\n"
"Copyright 2004-2017 Carsten Gnoerlich"),
"MODIFYING");
#else

View File

@@ -13,7 +13,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 18 insertions(+)
diff --git a/help-dialogs.c b/help-dialogs.c
index 0f4e3b2..6214429 100644
index 3f94920..d893d33 100644
--- a/help-dialogs.c
+++ b/help-dialogs.c
@@ -423,6 +423,24 @@ char *find_file(char *file, size_t *size, char *lang)

View File

@@ -16,7 +16,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/menubar.c b/menubar.c
index 12f1933..15ce4ad 100644
index ee24ebe..4a9f470 100644
--- a/menubar.c
+++ b/menubar.c
@@ -126,21 +126,21 @@ static void menu_cb(GtkWidget *widget, gpointer data)

View File

@@ -15,7 +15,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 4 insertions(+)
diff --git a/menubar.c b/menubar.c
index 15ce4ad..df4203c 100644
index 4a9f470..8330edb 100644
--- a/menubar.c
+++ b/menubar.c
@@ -24,6 +24,10 @@

View File

@@ -18,7 +18,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scsi-layer.c b/scsi-layer.c
index 3be21ff..b70a4a4 100644
index f8d2112..50f6c4c 100644
--- a/scsi-layer.c
+++ b/scsi-layer.c
@@ -1029,7 +1029,7 @@ static int query_bd(DeviceHandle *dh, int probe_only)

View File

@@ -13,7 +13,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/help-dialogs.c b/help-dialogs.c
index 6214429..5065e76 100644
index d893d33..75a615e 100644
--- a/help-dialogs.c
+++ b/help-dialogs.c
@@ -403,7 +403,7 @@ void ShowGPL()

View File

@@ -16,7 +16,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/show-manual.c b/show-manual.c
index d53c9a5..ecb0922 100644
index c25342b..4abbe97 100644
--- a/show-manual.c
+++ b/show-manual.c
@@ -287,8 +287,8 @@ void ShowPDF(char *target)
@@ -31,10 +31,10 @@ index d53c9a5..ecb0922 100644
else
if(*target != '/') bi->path = g_strdup_printf("%s/%s",Closure->docDir, target);
diff --git a/welcome-window.c b/welcome-window.c
index 1046bc8..3261b7c 100644
index d30ebd9..63ac3df 100644
--- a/welcome-window.c
+++ b/welcome-window.c
@@ -138,8 +138,8 @@ void CreateWelcomePage(GtkNotebook *notebook)
@@ -139,8 +139,8 @@ void CreateWelcomePage(GtkNotebook *notebook)
AboutText(box, _("\ndvdisaster creates error correction data to protect\n"
"optical media (CD,DVD,BD) against data loss.\n"));

View File

@@ -17,10 +17,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
create mode 100644 show-html.c
diff --git a/closure.c b/closure.c
index 40bb225..f408f7a 100644
index fa52f09..24c1e8c 100644
--- a/closure.c
+++ b/closure.c
@@ -467,6 +467,7 @@ void InitClosure()
@@ -474,6 +474,7 @@ void InitClosure()
Closure->deviceNames = g_ptr_array_new();
Closure->deviceNodes = g_ptr_array_new();
Closure->viewer = g_strdup("xdg-open");
@@ -28,7 +28,7 @@ index 40bb225..f408f7a 100644
Closure->methodList = g_ptr_array_new();
Closure->methodName = g_strdup("RS01");
Closure->dDumpDir = g_strdup(Closure->homeDir);
@@ -598,6 +599,7 @@ void FreeClosure()
@@ -589,6 +590,7 @@ void FreeClosure()
cond_free(Closure->binDir);
cond_free(Closure->docDir);
cond_free(Closure->viewer);
@@ -37,10 +37,10 @@ index 40bb225..f408f7a 100644
cond_free(Closure->simulateCD);
cond_free(Closure->dDumpDir);
diff --git a/dvdisaster.h b/dvdisaster.h
index bcfd4f5..ae874ae 100644
index 9acd094..f536040 100644
--- a/dvdisaster.h
+++ b/dvdisaster.h
@@ -213,6 +213,7 @@ typedef struct _GlobalClosure
@@ -229,6 +229,7 @@ typedef struct _GlobalClosure
char *binDir; /* place where the binary resides */
char *docDir; /* place where our documentation resides */
char *viewer; /* Name of preferred PDF viewer */
@@ -48,7 +48,7 @@ index bcfd4f5..ae874ae 100644
GMutex progressLock; /* A mutex protected the stuff below */
char bs[256]; /* A string of 255 backspace characters */
@@ -1298,6 +1299,12 @@ int ProbeAltiVec(void);
@@ -1348,6 +1349,12 @@ int ProbeAltiVec(void);
void ShowPDF(char*);
@@ -62,7 +62,7 @@ index bcfd4f5..ae874ae 100644
*** smart-lec.c
***/
diff --git a/help-dialogs.c b/help-dialogs.c
index 5065e76..3874463 100644
index 75a615e..dc5b440 100644
--- a/help-dialogs.c
+++ b/help-dialogs.c
@@ -599,7 +599,8 @@ static gint about_cb(GtkWidget *widget, GdkEvent *event, gpointer data)

View File

@@ -15,7 +15,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 2 insertions(+)
diff --git a/documentation/user-manual/manual.tex b/documentation/user-manual/manual.tex
index 60fb51e..bf4364d 100644
index 3024f3a..d943232 100644
--- a/documentation/user-manual/manual.tex
+++ b/documentation/user-manual/manual.tex
@@ -65,6 +65,8 @@

View File

@@ -9,7 +9,7 @@ Description: Fix more typos in error messages and docs.
'sucessful' → 'successful'
'improvment' → 'improvement'
Author: Carlos Maddela <e7appew@gmail.com>
Last-Update: 2017-08-06
Last-Update: 2017-12-21
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---
@@ -40,10 +40,10 @@ index 51ff827..80fe9d3 100644
\bigskip
diff --git a/locale/cs.po b/locale/cs.po
index 24b1e7c..497a4a9 100644
index 453ec07..d89ff4a 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -1903,7 +1903,7 @@ msgid "Media ejection"
@@ -1917,7 +1917,7 @@ msgid "Media ejection"
msgstr "Vysunutí disku"
#: preferences.c:2064 preferences.c:2065
@@ -53,10 +53,10 @@ index 24b1e7c..497a4a9 100644
#: preferences.c:2091
diff --git a/locale/de.po b/locale/de.po
index bbbfdcc..bb5baa6 100644
index 5b47778..8112b13 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -1959,7 +1959,7 @@ msgid "Media ejection"
@@ -1975,7 +1975,7 @@ msgid "Media ejection"
msgstr "Datenträger auswerfen"
#: preferences.c:2064 preferences.c:2065
@@ -66,10 +66,10 @@ index bbbfdcc..bb5baa6 100644
#: preferences.c:2091
diff --git a/locale/it.po b/locale/it.po
index a074339..000d5c3 100644
index f6e9dfd..b98f8d3 100644
--- a/locale/it.po
+++ b/locale/it.po
@@ -1749,7 +1749,7 @@ msgid "Media ejection"
@@ -1763,7 +1763,7 @@ msgid "Media ejection"
msgstr ""
#: preferences.c:2064 preferences.c:2065
@@ -79,10 +79,10 @@ index a074339..000d5c3 100644
#: preferences.c:2091
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index 012ce9e..4624071 100644
index f7f6af0..81ee14d 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -1839,7 +1839,7 @@ msgid "Media ejection"
@@ -1853,7 +1853,7 @@ msgid "Media ejection"
msgstr "Ejeção da mídia"
#: preferences.c:2064 preferences.c:2065
@@ -92,10 +92,10 @@ index 012ce9e..4624071 100644
#: preferences.c:2091
diff --git a/locale/ru.po b/locale/ru.po
index 912d6fb..66fc036 100644
index 9625a1f..6e980b9 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -1841,7 +1841,7 @@ msgid "Media ejection"
@@ -1855,7 +1855,7 @@ msgid "Media ejection"
msgstr "Извлечь носитель"
#: preferences.c:2064 preferences.c:2065
@@ -105,10 +105,10 @@ index 912d6fb..66fc036 100644
#: preferences.c:2091
diff --git a/locale/sv.po b/locale/sv.po
index 9f70808..5cd4927 100644
index c74a942..3011969 100644
--- a/locale/sv.po
+++ b/locale/sv.po
@@ -1755,7 +1755,7 @@ msgid "Media ejection"
@@ -1769,7 +1769,7 @@ msgid "Media ejection"
msgstr ""
#: preferences.c:2064 preferences.c:2065
@@ -118,7 +118,7 @@ index 9f70808..5cd4927 100644
#: preferences.c:2091
diff --git a/preferences.c b/preferences.c
index f5ef889..5a24200 100644
index 4899317..4309809 100644
--- a/preferences.c
+++ b/preferences.c
@@ -2061,8 +2061,8 @@ void CreatePreferencesWindow(void)
@@ -133,11 +133,11 @@ index f5ef889..5a24200 100644
for(i=0; i<2; i++)
diff --git a/regtest/rs01.bash b/regtest/rs01.bash
index 46bfac4..45f7611 100755
index 3c03f61..cc11f6e 100755
--- a/regtest/rs01.bash
+++ b/regtest/rs01.bash
@@ -1327,7 +1327,7 @@ if try "reading medium in 3 passes; 3rd pass recovers some" read_multipass_parti
run_regtest read_multipass_partial_success "--read-medium=3 --spinup-delay=0 -r" $TMPISO $ISODIR/no.ecc
@@ -1323,7 +1323,7 @@ if try "reading medium w/ ecc in 3 passes; 3rd pass recovers some" read_multipas
run_regtest read_multipass_ecc_partial_success "--read-medium=3 --spinup-delay=0 -r" $TMPISO $TMPECC
fi
-# Do a second sucessful read attempt at an incomplete image;
@@ -146,10 +146,10 @@ index 46bfac4..45f7611 100755
# since CRC caching is a bit complicated in this case.
diff --git a/scsi-layer.c b/scsi-layer.c
index b70a4a4..515cc93 100644
index 50f6c4c..22e825d 100644
--- a/scsi-layer.c
+++ b/scsi-layer.c
@@ -2474,7 +2474,7 @@ int ReadSectors(DeviceHandle *dh, unsigned char *buf, gint64 s, int nsectors)
@@ -2458,7 +2458,7 @@ int ReadSectors(DeviceHandle *dh, unsigned char *buf, gint64 s, int nsectors)
if(Closure->readRaw && dh->rawBuffer)
recommended_attempts = dh->rawBuffer->recommendedAttempts;
@@ -159,7 +159,7 @@ index b70a4a4..515cc93 100644
if(Closure->stopActions) /* user break */
diff --git a/smart-lec.c b/smart-lec.c
index 0355879..e33ad8f 100644
index 944b70d..534dd65 100644
--- a/smart-lec.c
+++ b/smart-lec.c
@@ -1609,7 +1609,7 @@ static int smart_lec_iteration(sh_context *shc, char *message)

View File

@@ -13,7 +13,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/rs03-create.c b/rs03-create.c
index b2c6033..b14e326 100644
index 9c7265d..678644c 100644
--- a/rs03-create.c
+++ b/rs03-create.c
@@ -39,16 +39,19 @@

View File

@@ -20,7 +20,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
8 files changed, 60 insertions(+), 30 deletions(-)
diff --git a/cacheprobe.c b/cacheprobe.c
index 60c55f9..f30f5d3 100644
index 545c690..9f754dd 100644
--- a/cacheprobe.c
+++ b/cacheprobe.c
@@ -22,7 +22,8 @@
@@ -75,7 +75,7 @@ index 60c55f9..f30f5d3 100644
diff --git a/closure.c b/closure.c
index f408f7a..f4b1893 100644
index 24c1e8c..26ee13b 100644
--- a/closure.c
+++ b/closure.c
@@ -50,7 +50,8 @@ static void get_base_dirs()
@@ -88,7 +88,7 @@ index f408f7a..f4b1893 100644
if(DirStat(BINDIR))
Closure->binDir = g_strdup(BINDIR);
@@ -425,7 +426,8 @@ void InitClosure()
@@ -432,7 +433,8 @@ void InitClosure()
/* Generate a more comprehensive version string */
@@ -99,7 +99,7 @@ index f408f7a..f4b1893 100644
#define BITNESS_STRING " 64bit"
#else
diff --git a/scripts/bash-based-configure b/scripts/bash-based-configure
index d62f5d7..9abcf96 100644
index f1a8bd1..487a50b 100644
--- a/scripts/bash-based-configure
+++ b/scripts/bash-based-configure
@@ -136,6 +136,15 @@ case "$cfg_uname" in
@@ -135,7 +135,7 @@ index d62f5d7..9abcf96 100644
CFG_SYS_OPTIONS="-DSYS_UNKNOWN"
CFG_SYS_NAME="-DSYS_NAME=\\\"Unknown\\\""
diff --git a/scsi-freebsd.c b/scsi-freebsd.c
index 78d0be4..793f206 100644
index 0e3397a..bbfb913 100644
--- a/scsi-freebsd.c
+++ b/scsi-freebsd.c
@@ -25,7 +25,7 @@
@@ -154,7 +154,7 @@ index 78d0be4..793f206 100644
-#endif /* SYS_FREEBSD */
+#endif /* defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) */
diff --git a/scsi-layer.c b/scsi-layer.c
index 515cc93..609cb73 100644
index 22e825d..eaecc5c 100644
--- a/scsi-layer.c
+++ b/scsi-layer.c
@@ -2005,12 +2005,13 @@ static gint64 query_size(Image *image)
@@ -184,7 +184,7 @@ index 515cc93..609cb73 100644
/***
diff --git a/scsi-layer.h b/scsi-layer.h
index cc7d9fc..0706a22 100644
index cb5c559..6169508 100644
--- a/scsi-layer.h
+++ b/scsi-layer.h
@@ -28,7 +28,7 @@
@@ -234,7 +234,7 @@ index cc7d9fc..0706a22 100644
union ccb *ccb;
#endif
diff --git a/scsi-unknown.c b/scsi-unknown.c
index e9183f6..ef54552 100644
index f5f1072..7b2ccdb 100644
--- a/scsi-unknown.c
+++ b/scsi-unknown.c
@@ -25,7 +25,7 @@

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org

Binary file not shown.

View File

@@ -10,6 +10,7 @@
\usepackage{fancyhdr}
\usepackage{listings}
\usepackage{color}
\usepackage{comment}
\marginsize{30mm}{20mm}{20mm}{20mm} % Seitenränder links, rechts, oben, unten
\parindent0em % Keine amerikanische Einrückung am Anfang von Paragraphen

View File

@@ -251,6 +251,9 @@ and the expected size of the parity layers is:
\smallskip
% TODO: implement in codec
\begin{comment}
From these values we iteratively compute a $2^p$ which has about 20-40 multiples
in the {\em preliminary ecc size} address space. This value will be used
for interleaving the ecc header copies with the ecc layers:
@@ -263,6 +266,16 @@ p := 5
while($\frac{preliminary\;ecc\;size}{2^p} > 40$)
\quad p := p + 1}
\end{comment}
From these values we compute a $2^p$ which has about 20-40 multiples
in the {\em preliminary ecc size} address space. This value will be used
for interleaving the ecc header copies with the ecc layers:
\[ p = \left\lceil log_2\; \frac{preliminary\;ecc\;size}{40} \right\rceil \]
%\[ p = \left\lceil \frac{log\; \frac{preliminary\;ecc\;size}{40}}{log\; 2} \right\rceil \]
\smallskip

View File

@@ -1 +1 @@
\newcommand{\projectversion}{0.79.5}
\newcommand{\projectversion}{0.79.6}

View File

@@ -1,4 +1,4 @@
.TH DVDISASTER 1 "2015-12-16" "0.79.5" "Schutz f\[:u]r optische Datentr\[:a]ger"
.TH DVDISASTER 1 "2010-02-07" "0.80" "Schutz f\[:u]r optische Datentr\[:a]ger"
.SH NAME
DVDISASTER \- Schutz f\[:u]r optische Datentr\[:a]ger gegen Datenverlust durch Alterung
@@ -49,6 +49,7 @@ oder Kratzer
.RB [\| \-\-internal-rereads
.IR n \|]
.RB [\| \-\-medium-info \|]
.RB [\| \-\-no-progress \|]
.RB [\| \-\-old-ds-marker \|]
.RB [\| \-\-prefetch-sectors
.IR n \|]
@@ -59,6 +60,7 @@ oder Kratzer
.RB [\| \-\-read-medium
.IR n \|]
.RB [\| \-\-read-raw \|]
.RB [\| \-\-regtest \|]
.RB [\| \-\-resource-file
.IR n \|]
.RB [\| \-\-speed-warning
@@ -213,28 +215,31 @@ RS01-Fehlerkorrektur-Dateien unterst\[:u]tzen au\[ss]erdem:
.RS
RS02-Abbilder:
.RS
\-n CD\ \ \ erweitert Abbild auf CD-Gr\[:o]\[ss]e.
\-n CD\ \ \ \ erweitert Abbild auf CD-Gr\[:o]\[ss]e.
.RE
.RS
\-n DVD\ \ erweitert Abbild auf DVD-Gr\[:o]\[ss]e.
\-n DVD\ \ \ erweitert Abbild auf DVD-Gr\[:o]\[ss]e.
.RE
.RS
\-n DVD9 erweitert Abbild auf DVD9-Gr\[:o]\[ss]e.
\-n DVD9\ erweitert Abbild auf DVD9-Gr\[:o]\[ss]e.
.RE
.RS
\-n BD\ \ \ erweitert Abbild auf BD-Gr\[:o]\[ss]e.
\-n BD\ \ \ \ erweitert Abbild auf BD-Gr\[:o]\[ss]e.
.RE
.RS
\-n BD2\ erweitert Abbild auf zweilagige BD-Gr\[:o]\[ss]e.
\-n BD2\ \ erweitert Abbild auf zweilagige BD-Gr\[:o]\[ss]e.
.RE
.RS
\-n x\ \ \ \ erweitert Abbild auf ca. x Sektoren L\[:a]nge.
\-n BDXL3 erweitert Abbild auf dreilagige BDXL-Gr\[:o]\[ss]e.
.RE
.RS
\-n x%\ \ \ erweitert Abbild mit ca. x% Redundanz.
\-n x\ \ \ \ \ erweitert Abbild auf ca. x Sektoren L\[:a]nge.
.RE
.RS
\-n xr\ \ \ erweitert Abbild mit x Nullstellen Fehlerkorrektur-Daten.
\-n x%\ \ \ \ erweitert Abbild mit ca. x% Redundanz.
.RE
.RS
\-n xr\ \ \ \ erweitert Abbild mit x Nullstellen Fehlerkorrektur-Daten.
.RE
.RE
@@ -364,6 +369,9 @@ die Standardeinstellungen des Laufwerks zu verwenden.
.B \-\-medium-info
Gibt Informationen \[:u]ber den Datentr\[:a]ger im ausgew\[:a]hlten Laufwerk aus.
.TP
.B \-\-no-progress
Unterdr\[:u]ckt die Fortschrittsanzeige in Prozent.
.TP
.B \-\-old-ds-marker
Markiert fehlende Sektoren in einer Weise, die mit dvdisaster
0.70 oder noch fr\[:u]heren Versionen kompatibel ist.
@@ -403,6 +411,9 @@ liest den gesamten Datentr\[:a]ger bis zu n-mal.
.B \-\-read-raw
liest in der "raw"\-Betriebsart sofern m\[:o]glich.
.TP
.B \-\-regtest
ver\[:a]ndert einige Ausgaben so da\[ss] sie von den Regressionstest-Skripten besser verarbeitet werden k\[:o]nnen.
.TP
.B \-\-resource-file n
Gibt den Pfad zur Konfigurationsdatei an (Voreinstellung: $HOME/.dvdisaster)
.TP

View File

@@ -1,4 +1,4 @@
.TH DVDISASTER 1 "2015-12-16" "0.79.5" "protection for optical media"
.TH DVDISASTER 1 "2010-02-06" "0.80" "protection for optical media"
.SH NAME
DVDISASTER \- data loss/scratch/aging protection for optical media
@@ -48,6 +48,7 @@ DVDISASTER \- data loss/scratch/aging protection for optical media
.RB [\| \-\-internal-rereads
.IR n \|]
.RB [\| \-\-medium-info \|]
.RB [\| \-\-no-progress \|]
.RB [\| \-\-old-ds-marker \|]
.RB [\| \-\-prefetch-sectors
.IR n \|]
@@ -58,6 +59,7 @@ DVDISASTER \- data loss/scratch/aging protection for optical media
.RB [\| \-\-read-medium
.IR n \|]
.RB [\| \-\-read-raw \|]
.RB [\| \-\-regtest \|]
.RB [\| \-\-resource-file
.IR n \|]
.RB [\| \-\-speed-warning
@@ -205,28 +207,31 @@ RS01 error correction flles additionally support:
.RS
RS02 images:
.RS
\-n CD\ \ \ augments image suitable for CD media.
\-n CD\ \ \ \ augments image suitable for CD media.
.RE
.RS
\-n DVD\ \ augments image suitable for DVD media.
\-n DVD\ \ \ augments image suitable for DVD media.
.RE
.RS
\-n DVD9 augments image suitable for DVD9 media.
\-n DVD9\ augments image suitable for DVD9 media.
.RE
.RS
\-n BD\ \ \ augments image suitable for BD media.
\-n BD\ \ \ \ augments image suitable for BD media.
.RE
.RS
\-n BD2\ augments image suitable for two layered BD media.
\-n BD2\ \ augments image suitable for two layered BD media.
.RE
.RS
\-n x\ \ \ \ augments image using approx. x sectors in total.
\-n BDXL3 augments image suitable for three layered BDXL media.
.RE
.RS
\-n x%\ \ \ augments image with approx. x% redundancy.
\-n x\ \ \ \ \ augments image using approx. x sectors in total.
.RE
.RS
\-n xr\ \ \ augments image with x roots error correction data.
\-n x%\ \ \ \ augments image with approx. x% redundancy.
.RE
.RS
\-n xr\ \ \ \ augments image with x roots error correction data.
.RE
.RE
@@ -347,6 +352,9 @@ this setting anyways. Use \-1 to leave the drive at its default setting.
.B \-\-medium-info
Prints information about the currently inserted medium.
.TP
.B \-\-no-progress
Suppresses the progress percentage indicator.
.TP
.B \-\-old-ds-marker
Marks missing sectors in a manner which is compatible with
dvdisaster 0.70 or older.
@@ -384,6 +392,9 @@ read the whole medium up to n times.
.B \-\-read-raw
performs read in raw mode if possible.
.TP
.B \-\-regtest
modifies some outputs for better processing with the regression test scripts.
.TP
.B \-\-resource-file n
Specifies the path to the configuration file (default: $HOME/.dvdisaster)
.TP

View File

@@ -13,7 +13,7 @@
<tr>
<td align="left">
<span class="fxxl"><b>dvdisaster</b>&nbsp;</span>
<i>Version 0.79.5</i>
<i>Version 0.79.5 (stable) / 0.79.6 (unstable)</i>
</td>
<td align="right">
<span class="fxxl">&nbsp;</span>
@@ -51,29 +51,14 @@ dvdisaster.org
<p>
Das dvdisaster-Projekt (<a href="impressum.html">Anbieter siehe Impressum</a>)
nimmt den Schutz personenbezogener Daten sehr ernst.
Die nachfolgende Erklärung gibt Ihnen einen Überblick darüber,
welche Daten zu welchem Zweck erhoben werden:
ermöglicht Ihnen die Nutzung dieser Internetseiten ohne Registrierung und
ohne eine Angabe von personenbezogenen Daten.
<p>
<b>Protokoll-Dateien</b> (Datenverarbeitung durch die Server dieser Internetseiten)<p>
<b>Server-Protokoll-Dateien</b><p>
Ihr Besuch auf diesen Seiten wird protokolliert.
Die Server dieser Internetseiten speichern die folgenden Daten:
<ul>
<li>den Typ und die Version Ihres Browsers</li>
<li>das verwendete Betriebssystem</li>
<li>gegebenenfalls die Ausgangsseite, von der aus Sie zu diesen Internetseiten gelangt sind</li>
<li>den Namen oder die IP-Adresse des zugreifenden Rechners</li>
<li>die Uhrzeit und das Datum Ihres Abrufes dieser Seiten</li>
<li>die Dateinamen der angefragten Seiten.</li>
</ul>
Diese Daten werden weder dazu genutzt, den Besucher dieser Internetseiten
zu identifizieren, noch findet eine Zusammenführung mit anderen Daten
statt. Die Daten werden nach einer statistischen Auswertung gelöscht.
Die Server dieser Internetseiten führen kein Protokoll über Ihre Seitenzugriffe.
<p>
@@ -106,7 +91,7 @@ diese Datenschutzerklärung von Zeit zu Zeit erneut durch.
<tr>
<td align="center">
<span class="fs">
<i> Copyright 2004-2015 Carsten Gn&ouml;rlich.<br>
<i> Copyright 2004-2017 Carsten Gn&ouml;rlich.<br>
Die unveränderte Vervielfältigung und Verteilung dieses gesamten Artikels in beliebiger Form ist gestattet,
sofern dieser Hinweis erhalten bleibt.
</i>

View File

@@ -13,7 +13,7 @@
<tr>
<td align="left">
<span class="fxxl"><b>dvdisaster</b>&nbsp;</span>
<i>Version 0.79.5</i>
<i>Version 0.79.5 (stable) / 0.79.6 (unstable)</i>
</td>
<td align="right">
<span class="fxxl">&nbsp;</span>
@@ -74,7 +74,7 @@ Das Impressum gilt für die Internetpräsenz unter den Domänen<br>
<tr>
<td align="center">
<span class="fs">
<i> Copyright 2004-2015 Carsten Gn&ouml;rlich.<br>
<i> Copyright 2004-2017 Carsten Gn&ouml;rlich.<br>
Die unveränderte Vervielfältigung und Verteilung dieses gesamten Artikels in beliebiger Form ist gestattet,
sofern dieser Hinweis erhalten bleibt.
</i>

View File

@@ -13,7 +13,7 @@
<tr>
<td align="left">
<span class="fxxl"><b>dvdisaster</b>&nbsp;</span>
<i>Version 0.79.5</i>
<i>Version 0.79.5 (stable) / 0.79.6 (unstable)</i>
</td>
<td align="right">
<span class="fxxl">&nbsp;</span>
@@ -84,13 +84,7 @@ zum Beispiel in zahlreichen Foren und (in englischer Sprache) im
<td>Aktuelle Version:&nbsp;</td>
<td><a href="../downloads/dvdisaster-0.79.5.tar.bz2">dvdisaster-0.79.5.tar.bz2</a></td>
<td>(<a href="../downloads/dvdisaster-0.79.5.tar.bz2.gpg">digitale Unterschrift</a>,
MD5-Prüfsumme: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)</td>
</tr>
<tr>
<td>Vorherige (ältere) Version:</td>
<td><a href="../downloads/dvdisaster-0.72.6.tar.bz2">dvdisaster-0.72.6.tar.bz2</a></td>
<td>(<a href="../downloads/dvdisaster-0.72.6.tar.bz2.gpg">digitale Unterschrift</a>,
MD5-Prüfsumme: f4213af05fe5c36e93bdf8a1732a66d1)</td>
MD5-Prüfsumme: ceef990a2239c43314bc6427c6afb181)</td>
</tr>
</table>
<p>
@@ -101,105 +95,35 @@ ihren Ursprungszustand überprüft werden. In den Archiven gibt die Datei
<p>
Die Unterstützung von <b>Windows</b> and <b>Mac OS</b> wurde eingestellt.
Ein anderer Entwickler hat angefangen, eine Version von dvdisaster direkt für Windows zu
erstellen, aber es gibt dazu noch nichts anzukündigen. Verwenden Sie
bis dahin bitte weiterhin
die <a href="verschiedenes.html#windows">letzte veröffentlichte Version 0.72.3 für Windows</a>.
Die Unterstützung von OS X und Windows wurde eingestellt.
Die <a href="verschiedenes.html#windows">letzte veröffentlichte Version 0.72.3 für Windows</a> ist noch verfügbar.
<p>
<b>Die Entwickler-Versionen sind zurück!</b><p>
Der ursprüngliche Plan, alle paar Monate eine stabile Version zu veröffentlichen, kann derzeit aus Zeitmangel nicht umgesetzt werden. In der Zwischenzeit werden (unstabile) Entwicklerversionen veröffentlicht, wenn sich die Notwendigkeit für eine kurzfristige Aktualisierung ergibt. Bitte beachten Sie, daß diese Versionen nicht dokumentiert sind. Sie können unvollständige oder fehlerhafte Eigenschaften aufweisen. Sie sollten diese Versionen nur nutzen, wenn Sie eine Funktionalität aus der unten aufgeführten Liste benötigen.<p>
<a href="../downloads/dvdisaster-0.79.6.tar.bz2">dvdisaster-0.79.6.tar.bz2</a></td>
<td>(<a href="../downloads/dvdisaster-0.79.6.tar.bz2.gpg">digitale Unterschrift</a>,
MD5-Prüfsumme: ceef990a2239c43314bc6427c6afb181)
<ul>
<li> Das "Datenträger-Info"-Werkzeug zeigt nun die korrekte Leerkapazität an (vorher wurde immer Null ausgegeben).</li>
<li> Unterstützung für BDXL-TL-Datenträger (dreilagig, 100GB).</li>
<li> Sektoren-Prüfsummen und Abbild-Prüfsummen werden während des Lesens von
Datenträgern zwischengespeichert und beim Erstellen von Fehlerkorrektur-Daten
wiederverwendet. Das Erstellen von Fehlerkorrektur-Daten wird dadurch beschleunigt
und RS03-Fehlerkorrektur-Daten enthalten die optionale Abbild-Prüfsumme,
wenn der Datenträger vorher einmal komplett eingelesen wurde.
</li>
</ul>
<p>
<p>
<b>Was ist mit den alten dvdisaster-Seiten passiert?</b><p>
Zur Erläuterung eine Übersetzung des Vorwortes aus
dem englischen <a href="misc.html#manual">Benutzerhandbuch</a>:<p>
Seit der Veröffentlichung von dvdisaster 0.79.3 (Version 0.79.4
wurde nicht abgeschlossen und veröffentlicht) sind nahezu
fünf Jahre vergangen.
Dies liegt teilweise an den veränderten Lebensumständen
des verantwortlichen Entwicklers, aber auch an vielen
Änderungen am Quellkode. Viele interne Strukturen wurden
in dvdisaster 0.79.5 im Vergleich zu seinem Vorgänger
deutlich verändert.<p>
Die wichtigste Änderung ist in dvdisaster 0.79.5
natürlich der multihreading-fähige RS03-Kodierer.
Während es ungefähr 62 Minuten auf einem durchschnittlich
leistungsfähigen PC dauert, um ein 36 GiB großes Abbild
mit dem RS02-Kodierer zu bearbeiten, so benötigt der
neue RS03-Kodierer weniger als 7 Minuten mit sechs
Prozessorkernen auf der selben Maschine. Auf einem
Hochleistungs-Server mit 16 Prozessorkernen und
hohem Ein-/Ausgabe-Durchsatz kann diese Aufgabe in
unter einer Minute bearbeitet werden. Das ist
ein großer Schritt nach vorne.<p>
RS03 ist ab dieser Version für den produktiven
Einsatz geeignet. Einige nicht grundlegende
Funktionen werden noch mit den nächsten Versionen
nachgereicht; dies umfaßt unter anderem das
adaptive Lesen mit RS03 sowie das schnelle
Reparieren von Datenträgern unter Nutzung von
Multithreading.<p>
Andere Teile des Projektes mußten geändert oder
eingestellt werden. Ein Softwareprojekt lebt
von der Weiterentwicklung und von regelmäßigen
Veröffentlichungen; anderenfalls hört das
Projekt letztendlich auf zu existieren.
dvdisaster lief in den letzten Jahren Gefahr,
dieses Schicksal zu erleiden. Um zu verhindern
daß dies erneut eintritt, wird sich das
Projekt nun auf die Entwicklung des Quellkodes
konzentrieren; alle anderen Aktivitäten werden
an andere Personen weitergegeben oder
eingestellt. Die Quellkode-Entwicklung wird
sich nur noch mit der GNU/Linux-Version
befassen, die auch die Basis für alle
anderen Betriebssysteme liefert. Darin
inbegriffen sind die Portierungen für
FreeBSD und NetBSD, die sich sehr einfach
aus der GNU/Linux-Version ableiten lassen.
Dies gilt leider nicht für die Mac OS-
und Windows-Versionen, die ab sofort
eingestellt werden.<p>
Ebenso werden die getrennten Versionszweige mit
stabilen Versionen und Entwicklerversionen eingestellt.
Ab dieser Version werden alle dvdisaster-Veröffentlichungen
als bereit für den produktiven Einsatz betrachtet,
wodurch sich eine Unterscheidung in verschiedene
Zweige erübrigt.<p>
Die Bereitstellung der mehrsprachlichen Dokumentation,
die gleichzeitig auch als Projektseite im Internet diente,
hat sich ebenfalls als zu aufwändig erwiesen.
Die Projektseite ist nun eine einfache Plattform
zum Herunterladen des Quellkodes. Sie wendet sich jetzt
an die Paketverwalter, die Binärversionen für
GNU/Linux, FreeBSD und NetBSD bereitstellen. <br>
Das Benutzerhandbuch wird nun im PDF-Format
bereitgestellt; dies ist viel einfacher zu
erzeugen als die alte HTML-Version. Die
einzige verfügbare Sprache ist Englisch.
Die meisten Teile des Benutzerhandbuches wurden
aus der alten Online-Dokumentation übernommen;
daher wirkt sie immer noch mehr wie die
Internetseiten als wie ein Buch. Hyperlinks
sind in PDF nicht so komfortabel nutzbar
wie in HTML, aber sie wurden in dem Handbuch
belassen um zu betonen daß es als Online-Referenz
gedacht ist. Bitte schonen Sie die Natur und
drucken Sie das Benutzerhandbuch nicht aus.
Es ist ohnehin nicht dazu gedacht, von
vorne nach hinten wie ein Buch gelesen zu werden.<p>
Nun gut, genug geredet. Möge Ihnen dvdisaster helfen,
Ihre Daten zu schützen und wiederherzustellen, und
vielen Dank daß Sie es nutzen!<p>
<i> -- cg, August 2015</i>
Bitte schauen Sie in das <i>Vorwort zur Version 0.79.5</i> im
englischen <a href="verschiedenes.html#manual">Benutzerhandbuch</a>.
<!-- Page footer -->
@@ -209,7 +133,7 @@ vielen Dank daß Sie es nutzen!<p>
<tr>
<td align="center">
<span class="fs">
<i> Copyright 2004-2015 Carsten Gn&ouml;rlich.<br>
<i> Copyright 2004-2017 Carsten Gn&ouml;rlich.<br>
Die unveränderte Vervielfältigung und Verteilung dieses gesamten Artikels in beliebiger Form ist gestattet,
sofern dieser Hinweis erhalten bleibt.
</i>

View File

@@ -13,7 +13,7 @@
<tr>
<td align="left">
<span class="fxxl"><b>dvdisaster</b>&nbsp;</span>
<i>Version 0.79.5</i>
<i>Version 0.79.5 (stable) / 0.79.6 (unstable)</i>
</td>
<td align="right">
<span class="fxxl">&nbsp;</span>
@@ -56,17 +56,12 @@ uid dvdisaster (pkg signing key #2)
sub 4096R/758BCC23 2015-10-05
</pre>
Ältere Versionen (bis zu 0.79.3) wurden mit dem folgenden
<a href="../downloadas/pubkey1.asc">1024bit DSA-Schlüssel</a> unterschrieben:
<pre>
pub 1024D/F5F6C46C 2003-08-22
Schl.-Fingerabdruck = 12B3 1535 AF90 3ADE 9E73 BA7E 5A59 0EFE F5F6 C46C
uid Carsten Gnörlich (pkg signing key #1)
sub 1024g/091AD320 2003-08-22
</pre>
Ältere Versionen (bis zu 0.79.3) wurden mit einem
<a href="../downloads/pubkey1.asc">1024bit DSA-Schlüssel</a> unterschrieben,
der noch zum Vergleich hier verfügbar ist.
Sie können den Fingerabdruck des öffentlichen Schlüssels auch direkt von
Sie können den Fingerabdruck der öffentlichen Schlüssel auch direkt von
den Entwicklern erhalten, indem Sie eine E-Mail
an carsten@dvdisaster.org schreiben. Bitte verwenden Sie
den Betreff "GPG finger print".
@@ -79,7 +74,7 @@ Das Benutzerhandbuch zu dvdisaster gibt es - leider aus Zeitgründen nur
in englischer Sprache - als <a href="../downloads/manual.pdf">PDF-Dokument (manual.pdf)</a>.
Es erläutert die Benutzung von dvdisaster anhand einiger
grundlegender Beispiele und enthält weitere Hintergrundinformationen
zu seiner Funktionsweise. <br>
zu seiner Funktionsweise.
Sie brauchen das Handbuch hier nicht herunterzuladen, wenn Sie bereits
das Quellkode-Archiv haben - dort ist ebenfalls ein Exemplar enthalten.
<p>
@@ -87,7 +82,7 @@ das Quellkode-Archiv haben - dort ist ebenfalls ein Exemplar enthalten.
<b>Kodierer-Spezifikation</b><p>
Die Spezifikation der RS01-, RS02- und RS03-Kodierer
ist als <a href="../downloads/codec.pdf">PDF-Dokument (codecs.pdf)</a>
ist als <a href="../downloads/codecs.pdf">PDF-Dokument (codecs.pdf)</a>
verfügbar.
Dieses Dokument ist zur Diskussion der Kodierer-Implementierung unter
@@ -112,13 +107,13 @@ bis dahin bitte weiterhin die letzte veröffentlichte Version für Windows:
<tr>
<td>Quellkode:&nbsp;</td>
<td><a href="../downloads/dvdisaster-0.72.3.tar.bz2">dvdisaster-0.72.3.tar.bz2</a></td>
<td>(<a href="../downloads/dvdisaster-0.79.5.tar.bz2.gpg">Digitale Unterschrift</a>,
<td>(<a href="../downloads/dvdisaster-0.72.3.tar.bz2.gpg">Digitale Unterschrift</a>,
MD5-Prüfsumme: 4eb09c1aa3cdbc1dafdb075148fb471d)</td>
</tr>
<tr>
<td>Installierbare Binärversion:&nbsp;</td>
<td><a href="../downloads/dvdisaster-0.72.3-setup.exe">dvdisaster-0.72.3-setup.exe</a></td>
<td>(<a href="../downloads/dvdisaster-0.72.3-setup-exe..gpg">Digitale Unterschrift</a>,
<td>(<a href="../downloads/dvdisaster-0.72.3-setup.exe.gpg">Digitale Unterschrift</a>,
MD5-Prüfsumme: b6861ba1e8de6d91a2da5342a14870e0)</td>
</tr>
</table>
@@ -131,7 +126,7 @@ bis dahin bitte weiterhin die letzte veröffentlichte Version für Windows:
<tr>
<td align="center">
<span class="fs">
<i> Copyright 2004-2015 Carsten Gn&ouml;rlich.<br>
<i> Copyright 2004-2017 Carsten Gn&ouml;rlich.<br>
Die unveränderte Vervielfältigung und Verteilung dieses gesamten Artikels in beliebiger Form ist gestattet,
sofern dieser Hinweis erhalten bleibt.
</i>

View File

@@ -13,7 +13,7 @@
<tr>
<td align="left">
<span class="fxxl"><b>dvdisaster</b>&nbsp;</span>
<i>Version 0.79.5</i>
<i>Version 0.79.5 (stable) / 0.79.6 (unstable)</i>
</td>
<td align="right">
<span class="fxxl">&nbsp;</span>
@@ -74,7 +74,7 @@ This notice covers the web sites under the domains<br>
<tr>
<td align="center">
<span class="fs">
<i> Copyright 2004-2015 Carsten Gn&ouml;rlich.<br>
<i> Copyright 2004-2017 Carsten Gn&ouml;rlich.<br>
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
</i>
</span>

View File

@@ -13,7 +13,7 @@
<tr>
<td align="left">
<span class="fxxl"><b>dvdisaster</b>&nbsp;</span>
<i>Version 0.79.5</i>
<i>Version 0.79.5 (stable) / 0.79.6 (unstable)</i>
</td>
<td align="right">
<span class="fxxl">&nbsp;</span>
@@ -75,16 +75,10 @@
<table>
<tr>
<td>Current version:&nbsp;</td>
<td>Current stable version:&nbsp;</td>
<td><a href="../downloads/dvdisaster-0.79.5.tar.bz2">dvdisaster-0.79.5.tar.bz2</a></td>
<td>(<a href="../downloads/dvdisaster-0.79.5.tar.bz2.gpg">digital signature</a>,
MD5 checksum: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)</td>
</tr>
<tr>
<td>Previous (older) version:</td>
<td><a href="../downloads/dvdisaster-0.72.6.tar.bz2">dvdisaster-0.72.6.tar.bz2</a></td>
<td>(<a href="../downloads/dvdisaster-0.72.6.tar.bz2.gpg">digital signature</a>,
MD5 checksum: f4213af05fe5c36e93bdf8a1732a66d1)</td>
MD5 sum: ceef990a2239c43314bc6427c6afb181)</td>
</tr>
</table>
<p>
@@ -94,87 +88,35 @@ verification that the packages are in their original state. The archives
contain a file <tt>INSTALL</tt> with further instructions for building dvdisaster.
<p>
OS X and Windows are no longer supported.
The <a href="misc.html#windows">last published version for Windows (0.72.3)</a> is still available.
<b>Windows</b> and <b>Mac OS</b> are no longer supported. A native Windows fork
of dvdisaster will be started soon by another developer, but there is nothing to announce yet.
In the mean time, please continue using
the <a href="misc.html#windows">last published version for Windows (0.72.3)</a>.
<p>
<b>The developer versions are back!</b><p>
The original plan of publishing stable versions every few months did not work out due to continued lack of time. In the mean time, developer (unstable) versions are published whenever the need arises for a current update. Please be aware that developer versions are undocumented and may contain unfinished or otherwise defective functionality. You should only use them if you need some of the features detailed in the list below.<p>
<a href="../downloads/dvdisaster-0.79.6.tar.bz2">dvdisaster-0.79.6.tar.bz2</a></td>
<td>(<a href="../downloads/dvdisaster-0.79.6.tar.bz2.gpg">digital signature</a>,
MD5 sum: ceef990a2239c43314bc6427c6afb181)
<ul>
<li> The "medium info" tool will now correctly show the blank capacity (was previously always shown as zero)</li>
<li> added support for BDXL-TL (triple layer, 100GB) media</li>
<li> Sector CRC sums and the image MD5 sums are collected during
reading the medium and can be re-used by the ecc data creation
process. Speeds up ecc generation and enables RS03 image
checksums when generating ecc data was preceeded by a read.
</li>
</ul>
<p>
<b>What happened to the old dvdisaster site?</b><p>
To quote from the preface of the <a href="misc.html#manual">user manual</a>:<p>
Please see the <i>Preface for version 0.79.5</i> in the <a href="misc.html#manual">user manual</a>.
Since the release of dvdisaster 0.79.3 (version 0.79.4 was
never finished and released), nearly five years have passed.
This was partly due to changed circumstances in its
primary developer's life, but there was also a lot of
coding going on behind the scenes. In comparison with its
predecessor, dvdisaster 0.79.5 comes with lots of its
internals being significantly reworked. <p>
The most visible improvement of dvdisaster 0.79.5 is, of
course, its multithreaded RS03 codec. While it takes
about 62 minutes for protecting a 36 GiB image with RS02
on a mid range PC,
the same task is done with RS03 in less than 7 minutes
using 6 processor cores on the same machine.
On a high end server with at least 16 cores and very good I/O,
this can be done in under a minute. That's quite an
improvement.<br>
RS03 is ready for production use in the current release.
Some non-essential features, especially reworking the
adaptive reading for use with RS03 and multi-threaded
RS03 decoding (media fixing) will be delivered with
the following dvdisaster releases.<p>
Other parts of the project had to be changed or even
discontinued. A software project lives on development
and continuous releases; else the
project will eventually die. In this respect, dvdisaster
was very endangered in the last few years.
To prevent this from happening again, most effort
is now directed into source code development;
everything else is delegated or discontinued.
Source code development basically means making
the GNU/Linux version, which provides the code base
for all other versions, and the FreeBSD and NetBSD ports,
which are very easily derived from the GNU/Linux code.
This is not the case for the Mac OS and Windows ports,
which are, unfortunately, discontinued as of now.<br>
Another feature which has to go are the separate
stable and development releases.
Starting with this version, all dvdisaster releases
are considered production quality, so there is no
need for different branches anymore.<p>
Maintaining the multi-lingual online documentation, which
also served as the project home page, did also prove to
be too time consuming. The project home page has
been changed into a simple download platform for
the project sources. It is now directed at package
maintainers who will create and pass on binaries
for the GNU/Linux, FreeBSD and NetBSD distributions.<br>
The program documentation, which you are reading
right now, is provided in PDF format which is much
easier to author than the HTML version. The only
language available is English. Most parts of this
manual have been adapted from the old online
documentation, so it still feels more like a website
than a book. While hyperlinks are not as usable in PDF
as in HTML, they have been kept in this document to
stress that it is intended to be used as an online reference.
So please do our environment a favour and do not print
this manual. It is not meant to be read
from front cover to back cover, anyways.<p>
Okay, enough ranting already. May dvdisaster be helpful
in protecting and recovering your valuable data,
and thanks for using it!<p>
<i> -- cg, August 2015</i>
<!-- Page footer -->
@@ -184,7 +126,7 @@ and thanks for using it!<p>
<tr>
<td align="center">
<span class="fs">
<i> Copyright 2004-2015 Carsten Gn&ouml;rlich.<br>
<i> Copyright 2004-2017 Carsten Gn&ouml;rlich.<br>
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
</i>
</span>

View File

@@ -13,7 +13,7 @@
<tr>
<td align="left">
<span class="fxxl"><b>dvdisaster</b>&nbsp;</span>
<i>Version 0.79.5</i>
<i>Version 0.79.5 (stable) / 0.79.6 (unstable)</i>
</td>
<td align="right">
<span class="fxxl">&nbsp;</span>
@@ -58,17 +58,11 @@ sub 4096R/758BCC23 2015-10-05
</pre>
Older releases up to version 0.79.3 have been signed with this <a href="../downloads/pubkey1.asc">1024bit DSA key</a>:
<pre>
pub 1024D/F5F6C46C 2003-08-22
Key fingerprint = 12B3 1535 AF90 3ADE 9E73 BA7E 5A59 0EFE F5F6 C46C
uid Carsten Gnörlich (pkg signing key #1)
sub 1024g/091AD320 2003-08-22
</pre>
The <a href="../downloads/pubkey1.asc">1024bit DSA key</a> used to sign releases up to version 0.79.3 is
still available for reference.
Feel free to send an email to carsten@dvdisaster.org to obtain
the fingerprint directly from the developers.
any of these fingerprints directly from the developers.
Please include "GPG finger print" in the subject line.
<p>
@@ -79,7 +73,7 @@ Please include "GPG finger print" in the subject line.
The user manual is provided as a <a href="../downloads/manual.pdf">PDF document (manual.pdf)</a>.
It contains several basic examples of using dvdisaster and some background
information on its way of working. <br>
information on its way of working.
You do not need to download the manual if you already have the
source code archive - a copy of the manual is contained there.
<p>
@@ -87,7 +81,7 @@ source code archive - a copy of the manual is contained there.
<b>Codec specification</b><p>
The specification of the RS01, RS02 and RS03 codec
is available as a <a href="../downloads/codec.pdf">PDF document (codecs.pdf)</a>.
is available as a <a href="../downloads/codecs.pdf">PDF document (codecs.pdf)</a>.
This document is meant to discuss the codec implementation among developers.
It requires knowledge in the area of coding theory and is not meant as end
@@ -112,13 +106,13 @@ In the mean time, please continue using the last published version for Windows (
<tr>
<td>Source code:&nbsp;</td>
<td><a href="../downloads/dvdisaster-0.72.3.tar.bz2">dvdisaster-0.72.3.tar.bz2</a></td>
<td>(<a href="../downloads/dvdisaster-0.79.5.tar.bz2.gpg">digital signature</a>,
<td>(<a href="../downloads/dvdisaster-0.72.3.tar.bz2.gpg">digital signature</a>,
MD5 checksum: 4eb09c1aa3cdbc1dafdb075148fb471d)</td>
</tr>
<tr>
<td>Binary installer:&nbsp;</td>
<td><a href="../downloads/dvdisaster-0.72.3-setup.exe">dvdisaster-0.72.3-setup.exe</a></td>
<td>(<a href="../downloads/dvdisaster-0.72.3-setup-exe..gpg">digital signature</a>,
<td>(<a href="../downloads/dvdisaster-0.72.3-setup.exe.gpg">digital signature</a>,
MD5 checksum: b6861ba1e8de6d91a2da5342a14870e0)</td>
</tr>
</table>
@@ -131,7 +125,7 @@ In the mean time, please continue using the last published version for Windows (
<tr>
<td align="center">
<span class="fs">
<i> Copyright 2004-2015 Carsten Gn&ouml;rlich.<br>
<i> Copyright 2004-2017 Carsten Gn&ouml;rlich.<br>
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
</i>
</span>

View File

@@ -13,7 +13,7 @@
<tr>
<td align="left">
<span class="fxxl"><b>dvdisaster</b>&nbsp;</span>
<i>Version 0.79.5</i>
<i>Version 0.79.5 (stable) / 0.79.6 (unstable)</i>
</td>
<td align="right">
<span class="fxxl">&nbsp;</span>
@@ -51,29 +51,14 @@ dvdisaster.org
<p>
The dvdisaster project (<a href="imprint.html">see the contact page for representatives</a>)
is taking your privacy seriously. The following statement gives you an overview
about the kind and purpose of the data we are collecting:
provides its internet sites to you without requiring a registration or entering personal data.
<p>
<b>Log files</b> (data processed by our internet servers)<p>
Your visit of our internet sites is being logged.
Our servers collect the following data:
<ul>
<li>the type and version of your web browser</li>
<li>the operating system being used</li>
<li>the web site from which you were directed to our internet site (if applicable)</li>
<li>the host name or IP address of the computer which made the access</li>
<li>the time and date of the server query</li>
<li>the file names of the visited pages.</li>
</ul>
This data is not used to identify the visitors of our web sites.
It will not be combined with other data sources. The data will be
deleted after a statistical analysis.
<b>Server log files</b><p>
The servers of this internet site create no logs about your visit.
<p>
<b>Cookies</b><p>
@@ -104,7 +89,7 @@ change notices.
<tr>
<td align="center">
<span class="fs">
<i> Copyright 2004-2015 Carsten Gn&ouml;rlich.<br>
<i> Copyright 2004-2017 Carsten Gn&ouml;rlich.<br>
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
</i>
</span>

Binary file not shown.

View File

@@ -98,7 +98,7 @@ containing a formal specification of the error correction data format.
\vfill
\begin{center}
{\em
Copyright 2008-2015 Carsten Gnörlich.
Copyright 2008-2017 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium,
provided this notice is preserved.}
\end{center}

View File

@@ -101,8 +101,8 @@ please see the \tlnk{reporting-defects}{reporting defects} section.
\paragraph{Recovery of aged media.}
The medium processed here has become discolored and partly unreadable in its outer region.
A reading attempt yields about 23.000 unreadable sectors of 342.000 sectors total;
resulting in about 7,2\% defective sectors. Figure \ref{recover-linear} shows the
A reading attempt yields about 23.600 unreadable sectors of 360056 sectors total;
resulting in about 6,6\% defective sectors. Figure \ref{recover-linear} shows the
dvdisaster window after the reading attempt. The distribution of reading speed and
read errors over the medium is graphically shown.
The still readable sectors are stored in an ISO image called {\em medium.iso}.
@@ -114,7 +114,7 @@ The still readable sectors are stored in an ISO image called {\em medium.iso}.
\end{figure}
\paragraph{Repairing the defective image.}
The image which has been just read is incomplete since about 23.000 sectors could
The image which has been just read is incomplete since about 23.600 sectors could
not be read. These sectors are now reconstructed using the error correction data
created with dvdisaster. During the recovery a maximum of 20 errors per error
correction block is encountered (see figure \ref{fix-image}).
@@ -129,7 +129,7 @@ than a normal backup, though). Like an ordinary backup, the ecc data needs
to be created before the medium goes defective.
So if you have a defective medium but never created ecc data for it, you will
not be able to recover the defective sectors (23.000 in the above example).
not be able to recover the defective sectors (23.600 in the above example).
The data located at the end of the medium will be lost, while you will probably
be able to extract some files which are located at the beginning of the medium.
\newpage

View File

@@ -257,11 +257,19 @@ Usable media by type:
\medskip
{\bf BD-R, BD-RW}
{\bf BD-R, BD-RW} \quad (one or two layers)
\begin{itemize}
\item No limitations are known so far, but very few results on the
two-layered type (the 50GiB variety) have been reported yet.
\item No limitations are known.
\end{itemize}
\medskip
{\bf BDXL-R}
\begin{itemize}
\item Currently only the three-layered (100GB) version is tested and supported.
\item Note: BDXL is not backwards compatible with standard BD drives.
\end{itemize}
\medskip
@@ -351,7 +359,7 @@ Usable media by type:
You are welcome, of course, to provide an unoffical translation of the
project documentation on your own webspace and at your own discretion. }
\newpage
%\newpage
\subsection{Error messages}
\label{qa-error}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
@@ -73,6 +73,7 @@ typedef enum
MODIFIER_IGNORE_FATAL_SENSE,
MODIFIER_IGNORE_ISO_SIZE,
MODIFIER_INTERNAL_REREADS,
MODIFIER_NO_PROGRESS,
MODIFIER_OLD_DS_MARKER,
MODIFIER_PREFETCH_SECTORS,
MODIFIER_RANDOM_SEED,
@@ -80,6 +81,7 @@ typedef enum
MODIFIER_READ_ATTEMPTS,
MODIFIER_READ_MEDIUM,
MODIFIER_READ_RAW,
MODIFIER_REGTEST,
MODIFIER_RESOURCE_FILE,
MODIFIER_SCREEN_SHOT,
MODIFIER_SET_VERSION,
@@ -229,6 +231,7 @@ int main(int argc, char *argv[])
{"medium-info", 0, 0, MODE_MEDIUM_INFO },
{"merge-images", 1, 0, MODE_MERGE_IMAGES },
{"method", 2, 0, 'm' },
{"no-progress", 0, 0, MODIFIER_NO_PROGRESS },
{"old-ds-marker", 0, 0, MODIFIER_OLD_DS_MARKER },
{"prefetch-sectors", 1, 0, MODIFIER_PREFETCH_SECTORS },
{"prefix", 1, 0, 'p'},
@@ -242,6 +245,7 @@ int main(int argc, char *argv[])
{"read-medium", 1, 0, MODIFIER_READ_MEDIUM },
{"read-sector", 1, 0, MODE_READ_SECTOR},
{"read-raw", 0, 0, MODIFIER_READ_RAW},
{"regtest", 0, 0, MODIFIER_REGTEST},
{"redundancy", 1, 0, 'n'},
{"resource-file", 1, 0, MODIFIER_RESOURCE_FILE},
{"scan", 2, 0,'s'},
@@ -318,6 +322,8 @@ int main(int argc, char *argv[])
Closure->mediumSize = BD_SL_SIZE;
else if(!strcmp(optarg, "BD2") || !strcmp(optarg, "bd2"))
Closure->mediumSize = BD_DL_SIZE;
else if(!strcmp(optarg, "BDXL3") || !strcmp(optarg, "bdxl3"))
Closure->mediumSize = BDXL_TL_SIZE;
else
{ int len = strlen(optarg);
if(strchr("0123456789", optarg[len-1]))
@@ -479,6 +485,9 @@ int main(int argc, char *argv[])
}
}
break;
case MODIFIER_NO_PROGRESS:
Closure->noProgress = 1;
break;
case MODIFIER_OLD_DS_MARKER:
Closure->dsmVersion = 0;
break;
@@ -525,6 +534,9 @@ int main(int argc, char *argv[])
case MODIFIER_READ_RAW:
Closure->readRaw = TRUE;
break;
case MODIFIER_REGTEST:
Closure->regtestMode = TRUE;
break;
case MODIFIER_RESOURCE_FILE:
if(Closure->dotFile)
g_free(Closure->dotFile);
@@ -914,12 +926,14 @@ int main(int argc, char *argv[])
PrintCLI(_(" --ignore-iso-size - ignore image size from ISO/UDF data (dangerous - see man page!)\n"));
PrintCLI(_(" --internal-rereads n - drive may attempt n rereads before reporting an error\n"));
PrintCLI(_(" --medium-info - print info about medium in drive\n"));
PrintCLI(_(" --no-progress - do not print progress information\n"));
PrintCLI(_(" --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n"));
PrintCLI(_(" --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMiB)\n"));
PrintCLI(_(" --raw-mode n - mode for raw reading CD media (20 or 21)\n"));
PrintCLI(_(" --read-attempts n-m - attempts n upto m reads of a defective sector\n"));
PrintCLI(_(" --read-medium n - read the whole medium up to n times\n"));
PrintCLI(_(" --read-raw - performs read in raw mode if possible\n"));
PrintCLI(_(" --regtest - tweaks output for compatibility with regtests\n"));
PrintCLI(_(" --resource-file p - get resource file from given path\n"));
PrintCLI(_(" --speed-warning n - print warning if speed changes by more than n percent\n"));
PrintCLI(_(" --spinup-delay n - wait n seconds for drive to spin up\n"));

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
@@ -85,11 +85,22 @@
/* Some standard media sizes */
/* WARNING: These values affect RS03 in non-obvious ways.
* If you create RS03 data with changed values, you MUST
* keep a dvdisaster version with the changed values for
* recovering images with that RS03 data.
* dvdisaster compiled with default values may appear to
* scan and verify such images correctly as long as they
* are not damaged. But recovery WILL BREAK when
* processing a damaged image. YOU HAVE BEEN WARNED.
*/
#define CDR_SIZE (351*1024)
#define DVD_SL_SIZE 2295104 /* DVD+R/RW size used at least common denominator */
#define DVD_SL_SIZE 2295104 /* DVD+R/RW size used as least common denominator */
#define DVD_DL_SIZE 4171712 /* also seen: 4148992 4173824 */
#define BD_SL_SIZE 11826176
#define BD_DL_SIZE 23652352
#define BDXL_TL_SIZE 47305728
/* Maximum accepted media sizes (in 2K sectors) */
@@ -131,6 +142,7 @@
typedef struct _GlobalClosure
{ int version; /* Integer number representing current program version */
char *cookedVersion; /* version string formatted for GUI use */
gint8 releaseFlags; /* flags marking release status */
char *versionString; /* more detailed version string */
char *device; /* currently selected device to read from */
GPtrArray *deviceNames; /* List of drive names */
@@ -144,13 +156,15 @@ typedef struct _GlobalClosure
gint64 cdSize; /* Maximum cd size (for RS02 type images) */
gint64 dvdSize1; /* Maximum 1-layer dvd size (for augmented images) */
gint64 dvdSize2; /* Maximum 2-layer dvd size (for augmented images) */
gint64 bdSize1; /* Maximum 1-layer dvd size (for augmented images) */
gint64 bdSize2; /* Maximum 2-layer dvd size (for augmented images) */
gint64 bdSize1; /* Maximum 1-layer bd size (for augmented images) */
gint64 bdSize2; /* Maximum 2-layer bd size (for augmented images) */
gint64 bdSize3; /* Maximum 3-layer bdxl size (for augmented images) */
gint64 savedCDSize; /* Undo values for above */
gint64 savedDVDSize1;
gint64 savedDVDSize2;
gint64 savedBDSize1;
gint64 savedBDSize2;
gint64 savedBDSize3;
gint64 mediumSize; /* Maximum medium size (for augmented images) */
int cacheMiB; /* Cache setting for the parity codec, in megabytes */
int prefetchSectors; /* Prefetch setting per encoder thread */
@@ -171,11 +185,13 @@ typedef struct _GlobalClosure
int spinupDelay; /* Seconds to wait for drive to spin up */
int truncate; /* confirms truncation of large images */
int noTruncate; /* do not truncate image at the end */
int noProgress; /* do not print the percentage progress indicator */
int dsmVersion; /* 1 means new style dead sector marker */
int unlinkImage; /* delete image after ecc file creation */
int confirmDeletion; /* do not ask whether files should be deleted */
int driveSpeed; /* currently unused */
int debugMode; /* may activate additional features */
int regtestMode; /* tweaks output for compatibility with regtests */
int debugCDump; /* dump as #include file instead of hexdump */
int verbose; /* may activate additional messages */
int quickVerify; /* do only non time-consuming verify actions */
@@ -226,11 +242,8 @@ typedef struct _GlobalClosure
char *errorTitle; /* Title to show in error dialogs */
gint32 randomSeed; /* for the random number generator */
guint32 *crcCache; /* sectorwise CRC32 for last image read */
char *crcImageName; /* file name of cached image */
unsigned char md5Cache[16]; /* md5sum of last image read */
struct _CrcBuf *crcBuf; /* crcBuf of last image read */
/*** GUI-related things */
int guiMode; /* TRUE if GUI is active */
@@ -318,7 +331,6 @@ typedef struct _GlobalClosure
GtkWidget *readLinearFootline;
GtkWidget *readLinearFootlineBox;
gint64 crcErrors, readErrors; /* these are passed between threads and must therefore be global */
int crcAvailable; /* true when CRC data is available while reading/scanning */
/*** Widgets for the adaptive reading action */
@@ -428,6 +440,7 @@ typedef struct _CrcBlock
struct _RawBuffer *rawbuffer_forward;
struct _DefectiveSectorHeader *dsh_forward;
struct _DeviceHandle *dh_forward;
struct _Image *dh_image;
/***
*** bitmap.c
@@ -443,7 +456,7 @@ Bitmap* CreateBitmap0(int);
#define GetBit(bm,bit) (bm->bitmap[(bit)>>5] & (1<<((bit)&31)))
#define SetBit(bm,bit) bm->bitmap[(bit)>>5] |= (1<<((bit)&31))
#define ClearBit(bm,bit) bm->bitmap[(bit)>>5] &= ~(1<<((bit)&31))
int CountBits(Bitmap*);
gint32 CountBits(Bitmap*);
void FreeBitmap(Bitmap*);
/***
@@ -466,7 +479,6 @@ void InitClosure(void);
void LocalizedFileDefaults(void);
void UpdateMarkup(char**, GdkColor*);
void DefaultColors(void);
void ClearCrcCache(void);
void FreeClosure(void);
void ReadDotfile(void);
void WriteSignature(void);
@@ -483,10 +495,36 @@ guint32 EDCCrc32(unsigned char*, int);
*** crcbuf.c
***/
/* Flags for CrcBuf->md5State */
#define MD5_INVALID 0
#define MD5_BUILDING 1<<0
#define MD5_DATA_COMPLETE 1<<1
#define MD5_IMAGE_COMPLETE 1<<2
#define MD5_COMPLETE (MD5_DATA_COMPLETE | MD5_IMAGE_COMPLETE)
typedef struct _CrcBuf
{ guint32 *crcbuf;
guint64 size;
{ /* CRC32 of image sectors */
guint32 *crcbuf;
guint64 crcSize;
Bitmap *valid;
gint32 crcCached; /* CRC has been retrieved from ECC or previous run */
/* MD5 sum of image sectors */
struct MD5Context *md5Ctxt; /* context for building the image MD5 sum */
int md5State; /* state of md5 sum */
guint64 lastSector; /* tracking of sector sequence */
unsigned char dataMD5sum[16]; /* md5sum of data portion from last image read */
unsigned char imageMD5sum[16]; /* md5sum of last image read */
/* Characteristics of image */
char *imageName; /* file name of cached image */
guint64 dataSectors; /* number of data sectors (minus ecc sectors) */
guint64 coveredSectors; /* sectors covered by crc (EH, padding, ...) */
guint64 allSectors; /* number of all image sectors */
guint8 mediumFP[16]; /* fingerprint of image */
gint32 fpSector; /* sector which was fingerprinted */
gint32 fpValid;
} CrcBuf;
enum
@@ -496,10 +534,21 @@ enum
CRC_OUTSIDE_BOUND
};
CrcBuf *CreateCrcBuf(guint64);
/* Modes for AddSectorToCrcBuffer */
#define CRCBUF_UPDATE_CRC 1<<0
#define CRCBUF_UPDATE_MD5 1<<1
#define CRCBUF_UPDATE_ALL 3
#define CRCBUF_UPDATE_CRC_AFTER_DATA 1<<2
CrcBuf *CreateCrcBuf(struct _Image*);
void FreeCrcBuf(CrcBuf*);
int CheckAgainstCrcBuffer(CrcBuf*, gint64, unsigned char*);
int AddSectorToCrcBuffer(CrcBuf*, int, guint64, unsigned char*, int);
int CrcBufValid(CrcBuf*, struct _Image*, EccHeader*);
void PrintCrcBuf(CrcBuf*);
/***
*** curve.c
@@ -734,7 +783,7 @@ void CreateIconFactory();
enum {IMAGE_NONE, IMAGE_FILE, IMAGE_MEDIUM};
enum {FP_UNKNOWN, FP_UNREADABLE, FP_PRESENT};
enum {ECCFILE_PRESENT, ECCFILE_MISSING, ECCFILE_INVALID, ECCFILE_DEFECTIVE_HEADER, ECCFILE_WRONG_CODEC};
enum {ECCFILE_PRESENT, ECCFILE_NOPERM, ECCFILE_MISSING, ECCFILE_INVALID, ECCFILE_DEFECTIVE_HEADER, ECCFILE_WRONG_CODEC};
typedef struct _Image
{ int type; /* file or medium */
@@ -768,11 +817,12 @@ typedef struct _Image
int fpState; /* 0=unknown; 1=unreadable; 2=present */
/*
* layout caching
* layout and checksum caching
*/
void *cachedLayout; /* Layout of different codecs */
CrcBuf *crcCache; /* cached crc and md5 sums */
/*
* optionally attached ecc file
*/

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org

View File

@@ -1,83 +1,83 @@
56ccfe794d3d2dbec59ffa59d6edff8e *dvdisaster.h
11279e50580a66ce496b20e2847474b1 *galois-inlines.h
b064d001e5e4ed8221eb9f10d784cf45 *dvdisaster.h
79abb986b900ec06a73256876ba0d65c *galois-inlines.h
14eb94f981903fcffe2ccb33aa2cb9db *md5.h
ca18c4c23f757d059324660a57b81333 *read-linear.h
0fb9fbace5949e1195c3ef76883654b2 *rs01-includes.h
7f619909206bc32a6d2c74d8de67693f *rs02-includes.h
f4575624be69e91cb955498a9fa2349f *rs03-includes.h
1658869f384554bed067668d09bbac5c *scsi-layer.h
b97fb4e0296a19edd688075b51fcceab *udf.h
93b037657a397bd4153dd68f89871d34 *bitmap.c
adec4a144110d8fa5cb68e7615c9e451 *build.c
be495469b9e3f080202e284b7f9e3a4a *cacheprobe.c
f69aeebb1ba6feca5f1342992a8abc43 *closure.c
be413daa24e03dd054c5aa03ff25ffba *crc32.c
84f641b09f319dcbd9ee0491b8570f31 *crcbuf.c
fec5f60a87d29fea5d5b5486a1c77902 *curve.c
8815260ba81e79a0cd6c31d5087c4dbe *debug.c
ec4b15efa4458f777237a3e27950ca3b *ds-marker.c
01941fd931030dc408807f21d68dd346 *dvdisaster.c
5ad21ab84135db1cb4e49d126d1bec54 *ecc-rs01.c
8771601ac38f18eeae29442d79699043 *ecc-rs02.c
96bd51aa8da1240dea457132a4f80bdb *ecc-rs03.c
d2265d322c4e8bd9e361198f55ed96cc *endian.c
fc5502b63e4c8e6056969ce0271f8e4a *galois.c
c5cc7050c057ba36d2d16c5c52a4f04b *help-dialogs.c
f0300958f1141ff6e0af4a3b197f8083 *heuristic-lec.c
eb3596cdbc81325f1d03ee49aec410c0 *icon-factory.c
f7e4ef1993ecde342b3075d4beca42b8 *image.c
8fac0f1fc3208b49e2768b45a82e7fc3 *large-io.c
7e25aa5eca2a9ac7ee5bfb735a07f849 *l-ec.c
8947fd8a72aa29c37b5385cdfaa46426 *logfile.c
2c2ff63d4804b312d7046483b7ce9050 *maintenance.c
1e2e5c73226c57e9cdd2b49b1ffb3306 *main-window.c
f2d723717ca5f450ee8cc0b556f5506a *read-linear.h
100127beaecc24b28b2b80d76bbf68c8 *rs01-includes.h
5b39a23de01c988d562d70ed68682ab7 *rs02-includes.h
4407ce43eae55b19409be9980432c94f *rs03-includes.h
2a5980c706c67bec479e4532ab9a7093 *scsi-layer.h
c779a2908542c6a519ed7cdfc4e5e073 *udf.h
8f86a75f83a3bc9b6ce54cce037b3c75 *bitmap.c
5230bd572fc8ef1857063c885c00463a *build.c
7b59033ebffd6d8230efaf6834b2f942 *cacheprobe.c
bfb6d7ed2a921ce18dc0339774f72f41 *closure.c
e5bd212395758ae0b7e97d70c7a2df55 *crc32.c
7f5951182421a0366782b191a0b4ba82 *crcbuf.c
abb7c9decfd43935c943bc0dd1bab0d5 *curve.c
f96a3e006fc5d1c5d181e5056377c9ce *debug.c
6f8843d1cccc55506771ab02168b2df3 *ds-marker.c
19d0f85d035115f3bd8d4472e6379058 *dvdisaster.c
1c8136affed485adaf60e7904d9930a4 *ecc-rs01.c
7b301352a60c18c25f84c8cc7a36fd48 *ecc-rs02.c
91aa71f03dc9dade2e97dc59d7ec38f0 *ecc-rs03.c
39900d26ddcbb7c7e2a9198de14bace1 *endian.c
3f6e9dffb9de733dcccc916ca38292ca *galois.c
abc8a8d55248eab5416c45104a033171 *help-dialogs.c
547bf9a9d005419a0ed601317aeb4e14 *heuristic-lec.c
746666ade12c2db41ce9af6f55e4c13c *icon-factory.c
b3db603f77fd2735a6e8b1c568f7bdac *image.c
fe9de426f96e6d206d1482a24f589253 *large-io.c
abed1a50b9751387dc1e3cbc84a61fba *l-ec.c
6960647dc7fc5ce8a2727326946aaff1 *logfile.c
92e81646ef4e8618ded5d82db6a6163a *maintenance.c
3c3eebc43fc7aff3865022207e06153b *main-window.c
913554f7e994e212f6a52b769eef24bb *md5.c
9b469b33c074ca00eeede8e7070c6e6e *medium-info.c
6d118900b888e6928d235848d29c281f *memtrack.c
48790d6b19e854505c561f1b2d4d5747 *menubar.c
7a1925508ecc735a1651cb7ee9f95353 *method.c
8f0acf2f7d98a55d05a4721d97741c7c *medium-info.c
ce145372a25e0fb96070d460da7bdbb4 *memtrack.c
66cdf82b59fd973e3060d163b6887a20 *menubar.c
5006b2db93b210be3fb630e8d9463239 *method.c
17183bad35db217e2c352178844ceda3 *method-link.c
a615c90256180c45de7826bda73aa12c *misc.c
74a6bd2f64795790609244692902d1f7 *preferences.c
5286b61649c12241979dddc429af905c *print-sense.c
2af6685017c247de7458e9c4d39b6ed5 *misc.c
6523662e8e5aa2daf38a7e8c07ce1180 *preferences.c
5e7b077020e063951cc72ea57f5f046a *print-sense.c
cdde449dd2a8f64b560ff18a36f86234 *random.c
bc91a925f4b483ed8b1fa416ec96ae07 *raw-editor.c
542ec8681c6568c95841a6220f431ff7 *raw-sector-cache.c
8e3ca05dc954af1551c282474dd8b975 *read-adaptive.c
66114f4805ed108e6fec587350a500a3 *read-adaptive-window.c
04c4ae8846e25a33f9b8f4bf45fc1390 *read-linear.c
b6a4c16ab9dcfd876d333992486970ac *read-linear-window.c
b259fdb82b13daa0362357cdbf0361f5 *recover-raw.c
d3e2d73c572dc97c44cc5e59be65b003 *rs01-common.c
f865275e2866ca7f8575e9651642ffdb *rs01-create.c
f01b19a7372dc79ee01dbc468f69e1f4 *rs01-fix.c
1e40aecd9b8ff60f36966ad0acd88a6f *rs01-verify.c
279705c4ff8107b8baebedd62df117e2 *rs01-window.c
1a36679647e642f6a0b69136d6b45612 *rs02-common.c
ea28d99b2c021fc1c2dbb1cf37358c52 *rs02-create.c
93fc31920c37001ad76fa4dc8173f98c *rs02-fix.c
89f566f5623d60a954f116cb50273f46 *rs02-recognize.c
499c7583c8145af00d6af1e7c18c11e5 *rs02-verify.c
8053dafa7f01f8651e1b08602a322520 *rs02-window.c
317727f40df74e13be63365113298725 *rs03-common.c
b6eab678c8c8651a763bfd647247a65c *rs03-create.c
45c565d530d35bb0696f80fd5dbde2fc *rs03-fix.c
50fe3c9e7b399453367cefb98116e993 *rs03-preferences.c
729531e942f4a72ab91904e9e779f2c2 *rs03-recognize.c
51902bc5c25b398cbe5c32169f3ce873 *rs03-verify.c
731215c654a159376f76e0ca4712a5ed *rs03-window.c
53bf14fc0e1e5aae2468f98596c71eab *rs-decoder.c
3d2b4aed577d2d1dec0366b3e706328d *rs-encoder-altivec.c
c678e9bb63b14b07210bcd65f9f578a8 *rs-encoder.c
9b21a86f3d407b52e842072755824b2d *rs-encoder-sse2.c
d434fd89aaa838eacdf56aad63c3cbd8 *scsi-freebsd.c
d248b1f3ffc6db3a27f06a612a2da17b *scsi-layer.c
59972a6e2a9360e5d1480edc3bd62ee4 *scsi-linux.c
6095aab923d3dbff9fff64782ee9ba54 *scsi-netbsd.c
a27df955f3592ac2d577d679398afae4 *scsi-simulated.c
b6f3d02be48366e8f055bf880640a054 *scsi-unknown.c
7c2fd552dc90ac1a0e872867c9727218 *show-manual.c
054be9d45e056c96bf1b71dc8fb01e46 *smart-lec.c
7d853ee1150c79830f6ff100767f2496 *spiral.c
059d0883a80a70c59ca72ea0b2f161c7 *udf.c
f50d84725408b318f7d2645e21df4d04 *welcome-window.c
28f42d264cd18bb2e0ccdd8e15a0172e *raw-editor.c
1d416f611a175ba15be27f7f5686dd98 *raw-sector-cache.c
7f281312b3a65666f7eebaadb62e7f6e *read-adaptive.c
ccdc572bb24d20ae6fb53f360318b492 *read-adaptive-window.c
af7a757cad586d3766a3eaad382c6737 *read-linear.c
47dc58effd96f2b23182a4595ca36171 *read-linear-window.c
edc0e564573d595c1196c4dc0e70e659 *recover-raw.c
ea4d6894e717d4957cde686f88d7bdfd *rs01-common.c
aa9d409ee4eeaa7ba92d731cf32ee727 *rs01-create.c
ab15d7470a2fe950ebb33134018f044f *rs01-fix.c
cb3722894665baf9c4ff4c26ff79737b *rs01-verify.c
5cdecc33da1579733f0545944c4069ab *rs01-window.c
b33a0982df485b4e52e56fc1c61285ae *rs02-common.c
a1025fcc9455219937bae5bfadf0abf5 *rs02-create.c
f466c8296a37ea88b64aec9c870d6d75 *rs02-fix.c
369ec37d67674ffd2627f0373a566f0c *rs02-recognize.c
8cc283e60a73493ac6ba60a2f4af1754 *rs02-verify.c
eccac3ed74b32508b27de0e0d363c6b1 *rs02-window.c
9a9b966171f1b375cf3381b545a1c6d4 *rs03-common.c
2502514702687a2a252feace096d20f4 *rs03-create.c
19676ef95e635206c19dfe12b957e4b2 *rs03-fix.c
b012df78d2c546c87f6dd75769515409 *rs03-preferences.c
7d6101e6a95aeb45d6cd03ffe8891b96 *rs03-recognize.c
b7a6a6c64b4034380c581a5499940db4 *rs03-verify.c
1d2b071943c121bf0c47a2e047317262 *rs03-window.c
a2e1e28a609af85d9b83f01339b33a62 *rs-decoder.c
3882a92849cd23e64c81262be6e52650 *rs-encoder-altivec.c
1fc6cad3af2461e7974bf49e8f1bf5e9 *rs-encoder.c
f7f3e2708f0c389ed53c0f1083567a55 *rs-encoder-sse2.c
2e099a3d88f25f81420b96fe9bd62f44 *scsi-freebsd.c
cd58a45387267fe0728f439d7bb2045d *scsi-layer.c
b1b6bd57433eedab3a4f35389a182d14 *scsi-linux.c
7064327dc15a2d88e5375176d4c64132 *scsi-netbsd.c
3c0e100cdd499b1c23ac5e12b1fd6694 *scsi-simulated.c
be42d574e6340845d984c21dc902af1a *scsi-unknown.c
85aa8093f41c36ce791363e94f488dec *show-manual.c
6099911dd508701b0b8b5d09105faf95 *smart-lec.c
10f3e2b054fe3c1ac69c738b97f1beaa *spiral.c
dec5fbde631058d48866cc1d77446d37 *udf.c
6741fc5457e9c2026451403f2d45096c *welcome-window.c

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* The Reed-Solomon error correction draws a lot of inspiration - and even code -
* from Phil Karn's excellent Reed-Solomon library: http://www.ka9q.net/code/fec/

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
@@ -724,11 +724,11 @@ void AboutDialog()
#ifdef MODIFIED_SOURCE
AboutTextWithLink(vbox,
_("Modified version Copyright 2015 (please fill in - [directions])\n"
"Copyright 2004-2015 Carsten Gnoerlich"),
_("Modified version Copyright 2017 (please fill in - [directions])\n"
"Copyright 2004-2017 Carsten Gnoerlich"),
"MODIFYING");
#else
AboutText(vbox, _("Copyright 2004-2015 Carsten Gnoerlich"));
AboutText(vbox, _("Copyright 2004-2017 Carsten Gnoerlich"));
#endif
sep = gtk_hseparator_new();

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
* Copyright (C) 2006 Andrei Grecu
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org

View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
@@ -29,9 +29,25 @@
***/
static GdkPixbuf* create_icon(GtkIconFactory *ifact, char *name, const guint8 *inline_data)
{ GdkPixbuf *pb = gdk_pixbuf_new_from_inline(-1, inline_data, FALSE, NULL);
GtkIconSet *iset = gtk_icon_set_new_from_pixbuf(pb);
{ GdkPixbuf *pb;
GtkIconSet *iset;
int width, height, rowstride;
/* gdk_pixbuf_new_from_inline() deprecated; recommended to replace with GResource XML crap.
One day I'll get rid of GTK+. I swear.
pb = gdk_pixbuf_new_from_inline(-1, inline_data, FALSE, NULL);
*/
rowstride = (inline_data[12] << 24) + (inline_data[13] << 16) + (inline_data[14] << 8) + inline_data[15];
width = (inline_data[16] << 24) + (inline_data[17] << 16) + (inline_data[18] << 8) + inline_data[19];
height = (inline_data[20] << 24) + (inline_data[21] << 16) + (inline_data[22] << 8) + inline_data[23];
pb = gdk_pixbuf_new_from_data(inline_data+24, GDK_COLORSPACE_RGB, TRUE, 8,
width, height, rowstride, NULL, NULL);
iset = gtk_icon_set_new_from_pixbuf(pb);
gtk_icon_factory_add(ifact, name, iset);
return pb;
}

626
icons/source/medium.svg Normal file
View File

@@ -0,0 +1,626 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="medium.svg">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient5823">
<stop
style="stop-color:#c6e9af;stop-opacity:1"
offset="0"
id="stop5825" />
<stop
style="stop-color:#dee3db;stop-opacity:0"
offset="1"
id="stop5827" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5815">
<stop
style="stop-color:#c6e9af;stop-opacity:1"
offset="0"
id="stop5817" />
<stop
style="stop-color:#e3f4d7;stop-opacity:1"
offset="1"
id="stop5819" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5807">
<stop
style="stop-color:#ffeeaa;stop-opacity:1"
offset="0"
id="stop5809" />
<stop
style="stop-color:#e3f4d7;stop-opacity:1"
offset="1"
id="stop5811" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5799">
<stop
style="stop-color:#ffeeaa;stop-opacity:1"
offset="0"
id="stop5801" />
<stop
style="stop-color:#ffaaaa;stop-opacity:1"
offset="1"
id="stop5803" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5791">
<stop
style="stop-color:#ff8080;stop-opacity:1"
offset="0"
id="stop5793" />
<stop
style="stop-color:#f4d7d7;stop-opacity:1"
offset="1"
id="stop5795" />
</linearGradient>
<linearGradient
id="linearGradient5773">
<stop
style="stop-color:#ffccaa;stop-opacity:1"
offset="0"
id="stop5775" />
<stop
id="stop5787"
offset="0.5"
style="stop-color:#e9afaf;stop-opacity:1" />
<stop
style="stop-color:#f4d7d7;stop-opacity:1"
offset="1"
id="stop5777" />
</linearGradient>
<linearGradient
id="linearGradient5761">
<stop
style="stop-color:#ffeeaa;stop-opacity:1"
offset="0"
id="stop5763" />
<stop
id="stop5785"
offset="0.05215516"
style="stop-color:#ffe9aa;stop-opacity:1;" />
<stop
id="stop5783"
offset="0.10431032"
style="stop-color:#ffe5aa;stop-opacity:1;" />
<stop
id="stop5781"
offset="0.20862064"
style="stop-color:#ffddaa;stop-opacity:1;" />
<stop
id="stop5771"
offset="0.41724128"
style="stop-color:#ffccaa;stop-opacity:1" />
<stop
id="stop5769"
offset="0.65517235"
style="stop-color:#ffeeaa;stop-opacity:1" />
<stop
style="stop-color:#f5f5f5;stop-opacity:0;"
offset="1"
id="stop5765" />
</linearGradient>
<linearGradient
id="linearGradient5745">
<stop
id="stop5747"
offset="0"
style="stop-color:#f5f5f5;stop-opacity:1;" />
<stop
style="stop-color:#faf1cf;stop-opacity:1;"
offset="0.5"
id="stop5751" />
<stop
id="stop5749"
offset="1"
style="stop-color:#ffeeaa;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient5737"
inkscape:collect="always">
<stop
id="stop5739"
offset="0"
style="stop-color:#f5f5f5;stop-opacity:1;" />
<stop
id="stop5741"
offset="1"
style="stop-color:#ccffaa;stop-opacity:0" />
</linearGradient>
<linearGradient
id="linearGradient5729">
<stop
id="stop5731"
offset="0"
style="stop-color:#f5f5f5;stop-opacity:1;" />
<stop
id="stop5733"
offset="1"
style="stop-color:#ff9955;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient5703"
inkscape:collect="always">
<stop
id="stop5705"
offset="0"
style="stop-color:#f5f5f5;stop-opacity:1;" />
<stop
id="stop5707"
offset="1"
style="stop-color:#ccffaa;stop-opacity:0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5693">
<stop
style="stop-color:#f5f5f5;stop-opacity:1;"
offset="0"
id="stop5695" />
<stop
style="stop-color:#ccffaa;stop-opacity:1"
offset="1"
id="stop5697" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5679">
<stop
style="stop-color:#f5f5f5;stop-opacity:1;"
offset="0"
id="stop5681" />
<stop
style="stop-color:#b3ff80;stop-opacity:1"
offset="1"
id="stop5683" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5671">
<stop
style="stop-color:#f5f5f5;stop-opacity:1;"
offset="0"
id="stop5673" />
<stop
style="stop-color:#aaeeff;stop-opacity:1"
offset="1"
id="stop5675" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5663">
<stop
style="stop-color:#f5f5f5;stop-opacity:1;"
offset="0"
id="stop5665" />
<stop
style="stop-color:#aaeeff;stop-opacity:1"
offset="1"
id="stop5667" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5655">
<stop
style="stop-color:#f5f5f5;stop-opacity:1;"
offset="0"
id="stop5657" />
<stop
style="stop-color:#ffaaaa;stop-opacity:1"
offset="1"
id="stop5659" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5643">
<stop
style="stop-color:#f5f5f5;stop-opacity:1;"
offset="0"
id="stop5645" />
<stop
style="stop-color:#ffaaaa;stop-opacity:1"
offset="1"
id="stop5647" />
</linearGradient>
<linearGradient
id="linearGradient5361"
osb:paint="solid">
<stop
style="stop-color:#f5f5f5;stop-opacity:1;"
offset="0"
id="stop5363" />
</linearGradient>
<linearGradient
id="linearGradient3897">
<stop
id="stop3923"
offset="0"
style="stop-color:#f5f5f5;stop-opacity:1" />
<stop
style="stop-color:#ff5555;stop-opacity:0;"
offset="1"
id="stop3901" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5643"
id="linearGradient5641"
x1="193.54839"
y1="407.20087"
x2="282.25806"
y2="287.84604"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5655"
id="linearGradient5661"
x1="358.06451"
y1="273.32993"
x2="230.64516"
y2="328.16864"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5663"
id="linearGradient5669"
x1="424.19354"
y1="250.74927"
x2="575.80646"
y2="347.52347"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5671"
id="linearGradient5677"
x1="580.64514"
y1="362.03961"
x2="511.29031"
y2="292.68475"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5679"
id="linearGradient5685"
x1="590.32257"
y1="353.9751"
x2="643.5484"
y2="460.4267"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5693"
id="linearGradient5699"
x1="638.70966"
y1="515.26538"
x2="620.96771"
y2="410.4267"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5703"
id="linearGradient5701"
x1="661.29034"
y1="471.71701"
x2="601.61292"
y2="603.9751"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5737"
id="linearGradient5735"
x1="662.9032"
y1="476.55573"
x2="622.58063"
y2="592.68475"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5761"
id="linearGradient5767"
x1="630.64514"
y1="624.94287"
x2="666.12903"
y2="471.71701"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5773"
id="linearGradient5779"
x1="627.41943"
y1="574.94281"
x2="596.77417"
y2="633.00732"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5791"
id="linearGradient5797"
x1="433.87097"
y1="760.4267"
x2="609.67743"
y2="612.03955"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5799"
id="linearGradient5805"
x1="448.38708"
y1="712.03961"
x2="512.90326"
y2="670.10413"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5807"
id="linearGradient5813"
x1="462.90326"
y1="737.84607"
x2="408.06451"
y2="749.13641"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5815"
id="linearGradient5821"
x1="285.48386"
y1="726.55573"
x2="424.19354"
y2="745.91058"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5823"
id="linearGradient5829"
x1="340.32257"
y1="671.71704"
x2="214.51613"
y2="586.23315"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.62"
inkscape:cx="372.04724"
inkscape:cy="514.28571"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1037"
inkscape:window-height="877"
inkscape:window-x="716"
inkscape:window-y="229"
inkscape:window-maximized="0" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
sodipodi:type="arc"
style="fill:#f5f5f5;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
id="path2991"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="m 732.25806,499.13638 a 332.25806,332.25806 0 1 1 -664.516117,0 332.25806,332.25806 0 1 1 664.516117,0 z"
transform="translate(-35.483871,16.129032)" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5641);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="M 107.66738,341.22168 A 332.25806,332.25806 0 0 1 202.66289,231.82855 L 400,499.13638 z"
transform="translate(-35.483871,16.129036)"
sodipodi:start="3.6368718"
sodipodi:end="4.0764574" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5661);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="M 200.72631,233.2691 A 332.25806,332.25806 0 0 1 316.54347,177.53037 L 400,499.13638 z"
transform="translate(-35.483871,16.129038)"
sodipodi:start="4.0691931"
sodipodi:end="4.45849" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5669);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="m 470.71562,174.49086 a 332.25806,332.25806 0 0 1 125.84556,56.7666 L 400,499.13638 z"
transform="translate(-35.483867,16.129038)"
sodipodi:start="4.9268629"
sodipodi:end="5.3454209" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5685);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-4"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="m 674.1297,311.39102 a 332.25806,332.25806 0 0 1 40.84343,81.97511 L 400,499.13638 z"
transform="translate(-35.48387,16.129035)"
sodipodi:start="5.6826807"
sodipodi:end="5.9592099" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5677);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-6"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="m 594.3381,229.64034 a 332.25806,332.25806 0 0 1 51.61224,46.10435 L 400,499.13638 z"
transform="translate(-35.48387,16.129035)"
sodipodi:start="5.3371471"
sodipodi:end="5.5458146" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5699);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-4-7"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="m 714.73363,392.6556 a 332.25806,332.25806 0 0 1 17.52388,107.08247 L 400,499.13638 z"
transform="translate(-35.48387,16.129032)"
sodipodi:start="5.9569532"
sodipodi:end="6.2849962" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5779);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-4-7-8-2"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="M 717.49385,597.08062 A 332.25806,332.25806 0 0 1 674.966,685.65479 L 400,499.13638 z"
transform="translate(-35.48387,16.12903)"
sodipodi:start="0.29922907"
sodipodi:end="0.59603562" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5797);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-4-7-8-2-6"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="m 678.98875,679.5822 a 332.25806,332.25806 0 0 1 -86.27104,90.21135 L 400,499.13638 z"
transform="translate(-35.48387,16.12903)"
sodipodi:start="0.57411199"
sodipodi:end="0.95203795" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5805);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-4-7-8-2-6-2"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="M 592.79974,769.73512 A 332.25806,332.25806 0 0 1 482.78848,820.91501 L 400,499.13638 z"
transform="translate(-35.48387,16.12903)"
sodipodi:start="0.95173485"
sodipodi:end="1.318974" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5813);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-4-7-8-2-6-2-0"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="M 484.50864,820.46753 A 332.25806,332.25806 0 0 1 419.61229,830.8151 L 400,499.13638 z"
transform="translate(-35.48387,16.12903)"
sodipodi:start="1.3136245"
sodipodi:end="1.5117347" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5821);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-4-7-8-2-6-2-0-9"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="M 419.21619,830.83829 A 332.25806,332.25806 0 0 1 260.85593,800.85536 L 400,499.13638 z"
transform="translate(-35.48387,16.12903)"
sodipodi:start="1.5129289"
sodipodi:end="2.0029012" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5829);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-4-7-8-2-6-2-0-9-5"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="M 262.0576,801.40664 A 332.25806,332.25806 0 0 1 139.41706,705.27213 L 400,499.13638 z"
transform="translate(-35.483869,16.12903)"
sodipodi:start="1.9989221"
sodipodi:end="2.4723291" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient5767);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2991-7-7-7-4-7-8-2-8"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="m 732.25618,500.25304 a 332.25806,332.25806 0 0 1 -14.8554,97.12876 L 400,499.13638 z"
transform="translate(-35.48387,16.12903)"
sodipodi:start="0.0033608276"
sodipodi:end="0.30017785" />
<path
sodipodi:type="arc"
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path2991-0"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="332.25806"
sodipodi:ry="332.25806"
d="m 732.25806,499.13638 a 332.25806,332.25806 0 1 1 -664.516117,0 332.25806,332.25806 0 1 1 664.516117,0 z"
transform="translate(-35.483871,16.129036)" />
<path
sodipodi:type="arc"
style="fill:#ffffff;stroke:#000000;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1"
id="path2991-0-9"
sodipodi:cx="400"
sodipodi:cy="499.13638"
sodipodi:rx="99.999992"
sodipodi:ry="99.999992"
d="m 499.99999,499.13638 a 99.999992,99.999992 0 1 1 -199.99998,0 99.999992,99.999992 0 1 1 199.99998,0 z"
transform="translate(-35.483871,16.129036)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

23
image.c
View File

@@ -1,5 +1,5 @@
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2015 Carsten Gnoerlich.
* Copyright (C) 2004-2017 Carsten Gnoerlich.
*
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
* Project homepage: http://www.dvdisaster.org
@@ -99,13 +99,15 @@ Image* OpenEccFileForImage(Image *image, char *filename, int flags, mode_t mode)
}
image->eccFile = LargeOpen(filename, flags, mode);
if(errno == EACCES)
image->eccFileState = ECCFILE_NOPERM;
else image->eccFileState = ECCFILE_MISSING;
if(!image->eccFile)
{ if(new_image)
{ g_free(image);
return NULL;
return NULL;
}
image->eccFileState = ECCFILE_MISSING;
return image;
}
@@ -167,6 +169,21 @@ int ReportImageEccInconsistencies(Image *image)
{ Stop(_("\nError correction file type unknown.\n"));
}
}
/* Permission denied for ecc file */
if(!image->eccFile && image->eccFileState == ECCFILE_NOPERM)
{ CloseImage(image);
if(Closure->guiMode)
{ CreateMessage(_("\nPermission denied on ecc file (perhaps not writeable?).\n"),
GTK_MESSAGE_ERROR);
return TRUE;
}
else
{ Stop(_("\nPermission denied on ecc file (perhaps not writeable?).\n"));
}
}
/* Augmented image but unknown ecc method */

Some files were not shown because too many files have changed in this diff Show More