release 0.6.5beta trunk 0.6.5beta
authornathan
Sat, 29 Dec 2007 15:26:24 +0100
branchtrunk
changeset 66262df5a6216
parent 5 dbe5f35a0fa4
child 7 d707b7211484
release 0.6.5beta
CHANGES
cdbackup.c
version.h
virtual-backup.c
virtual.c
     1.1 --- a/CHANGES	Sat Dec 29 15:25:31 2007 +0100
     1.2 +++ b/CHANGES	Sat Dec 29 15:26:24 2007 +0100
     1.3 @@ -1,3 +1,10 @@
     1.4 +0.6.5beta
     1.5 +---------
     1.6 +- fixed adding a track to a virtual image >2GB.
     1.7 +- fixed media size detection for DVD+.
     1.8 +- Prevent filename change when restoring a multidisk virtual
     1.9 +  image from a non-regular filename (e.g. /dev/cdrom).
    1.10 +
    1.11  0.6.4beta
    1.12  ---------
    1.13  - added support for file based backups (virtual image).
     2.1 --- a/cdbackup.c	Sat Dec 29 15:25:31 2007 +0100
     2.2 +++ b/cdbackup.c	Sat Dec 29 15:26:24 2007 +0100
     2.3 @@ -142,8 +142,13 @@
     2.4    else {
     2.5      char buff[256];
     2.6      while(fgets(buff,sizeof(buff),p)) {
     2.7 -      if(dvd && !strncmp(buff,"rzone size:",11)) size=strtol(&buff[12],NULL,10);
     2.8 -      else if(!strncmp(buff,"  ATIP start of lead out:",25)) size=strtol(&buff[26],NULL,10);
     2.9 +      if(dvd) {
    2.10 +         /* DVD-R */
    2.11 +	 if(!strncmp(buff,"rzone size:",11)) size=strtol(&buff[11],NULL,10);
    2.12 +	 /* DVD+R */
    2.13 +	 else if(!strncmp(buff,"phys size:...",13)) size=strtol(&buff[13],NULL,10);
    2.14 +	 }
    2.15 +      else if(!strncmp(buff,"  ATIP start of lead out:",25)) size=strtol(&buff[25],NULL,10);
    2.16        }
    2.17      }
    2.18    pclose(p);
     3.1 --- a/version.h	Sat Dec 29 15:25:31 2007 +0100
     3.2 +++ b/version.h	Sat Dec 29 15:26:24 2007 +0100
     3.3 @@ -2,7 +2,7 @@
     3.4  #define _CDBACKUP_VERSION_H
     3.5  
     3.6  #ifndef VERSION
     3.7 -#define VERSION "0.6.4beta"
     3.8 +#define VERSION "0.6.5beta"
     3.9  #endif
    3.10  
    3.11  #endif
     4.1 --- a/virtual-backup.c	Sat Dec 29 15:25:31 2007 +0100
     4.2 +++ b/virtual-backup.c	Sat Dec 29 15:26:24 2007 +0100
     4.3 @@ -67,7 +67,7 @@
     4.4        virtualMissing=0;
     4.5        }
     4.6      if(virt_header->tracks>=MAX_VIRT_TRACKS-1) serror("Maximum number of virtual tracks reached");
     4.7 -    pos=(virt_header->start[virt_header->tracks]=virt_header->leadout)*CD_FRAMESIZE;
     4.8 +    pos=(long long)(virt_header->start[virt_header->tracks]=virt_header->leadout)*CD_FRAMESIZE;
     4.9      virt_header->tracks++;
    4.10      if(lseek64(fd,pos,SEEK_SET)<0) error("Seek failed (new track)");
    4.11      }
     5.1 --- a/virtual.c	Sat Dec 29 15:25:31 2007 +0100
     5.2 +++ b/virtual.c	Sat Dec 29 15:26:24 2007 +0100
     5.3 @@ -49,7 +49,7 @@
     5.4  
     5.5  static unsigned char virt_buffer[VIRT_HEADER_LEN];
     5.6  struct virt_header *virt_header=(struct virt_header *)virt_buffer;
     5.7 -int virtualMissing=0, virt_off=-1, virt_regular;
     5.8 +int virtualMissing=0, virt_off=-1, virt_regular=0;
     5.9  char *real_virt_name=0;
    5.10  
    5.11  extern int virtual;
    5.12 @@ -67,7 +67,7 @@
    5.13      }
    5.14    else {
    5.15      free(real_virt_name);
    5.16 -    if(disknum==1) {
    5.17 +    if(disknum==1 || !virt_regular) {
    5.18        real_virt_name=strdup(virt_name);
    5.19        }
    5.20      else if(virt_off>0) {