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) {