Compare commits

..

5 Commits
1.0.2 ... 1.0.0

17 changed files with 92 additions and 260 deletions

View File

@ -1,12 +1,7 @@
SVN trunk (to become libburn-1.0.4.pl00.tar.gz)
SVN trunk (to become libburn-1.0.2.pl00.tar.gz)
===============================================================================
- no novelties yet
libburn-1.0.2.pl00.tar.gz Wed Feb 23 2011
===============================================================================
* Removed compilation obstacles on Solaris 9.
* Improved recognition of non-seekable stdio pseudo-drives.
libburn-1.0.0.pl00.tar.gz Sun Jan 16 2011
===============================================================================
* Allowed umask to create stdio-drive files with rw-permissions for all

View File

@ -119,7 +119,7 @@ test_structest_SOURCES = test/structest.c
## cdrskin construction site - ts A60816 - B10116
cdrskin_cdrskin_CPPFLAGS = -Ilibburn
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_1_0_2
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_1_0_0
# cdrskin_cdrskin_LDADD = $(libburn_libburn_la_OBJECTS) $(LIBBURN_EXTRALIBS)
# ts A80123, change proposed by Simon Huggins to cause dynamic libburn linking

16
README
View File

@ -11,7 +11,7 @@ Still containing parts of Libburn. By Derek Foreman <derek@signalmarketing.com>
and Ben Jansens <xor@orodu.net>
Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
http://files.libburnia-project.org/releases/libburn-1.0.2.pl00.tar.gz
http://files.libburnia-project.org/releases/libburn-1.0.0.pl00.tar.gz
------------------------------------------------------------------------------
@ -19,10 +19,10 @@ Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
From tarball
Obtain libburn-1.0.2.pl00.tar.gz, take it to a directory of your choice and do:
Obtain libburn-1.0.0.pl00.tar.gz, take it to a directory of your choice and do:
tar xzf libburn-1.0.2.pl00.tar.gz
cd libburn-1.0.2
tar xzf libburn-1.0.0.pl00.tar.gz
cd libburn-1.0.0
./configure --prefix=/usr
make
@ -595,13 +595,7 @@ Project history as far as known to me:
abort threshold for xorriso batch mode, and increased that threshold for
xorriso dialog mode.
- Wed 23 2011 release 1.0.2:
libisofs fixes several bugs and introduces the capability to copy files
inside the ISO filesystem.
libburn removed a compilation obstacle on Solaris 9 and improved recognition
of stdio pseudo-drives.
libisoburn and xorriso fix bugs and make use of the new libisofs capability.
xorriso improves its mkisofs emulation.
------------------------------------------------------------------------------

View File

@ -4,7 +4,7 @@
cdrskin. By Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org but also published via:
http://scdbackup.sourceforge.net/cdrskin_eng.html
http://scdbackup.sourceforge.net/cdrskin-1.0.2.pl00.tar.gz
http://scdbackup.sourceforge.net/cdrskin-1.0.0.pl00.tar.gz
Copyright (C) 2006-2011 Thomas Schmitt, provided under GPL version 2 or later.
------------------------------------------------------------------------------
@ -26,10 +26,10 @@ By using this software you agree to the disclaimer at the end of this text
Compilation, First Glimpse, Installation
Obtain cdrskin-1.0.2.pl00.tar.gz, take it to a directory of your choice and do:
Obtain cdrskin-1.0.0.pl00.tar.gz, take it to a directory of your choice and do:
tar xzf cdrskin-1.0.2.pl00.tar.gz
cd cdrskin-1.0.2
tar xzf cdrskin-1.0.0.pl00.tar.gz
cd cdrskin-1.0.0
Within that directory execute:

View File

@ -38,7 +38,7 @@ original="./libburn_svn_release.tgz"
# My changes are in $changes , mainly in $changes/cdrskin
changes="./libburn-release"
skin_release="1.0.2"
skin_release="1.0.0"
patch_level=".pl00"
skin_rev="$skin_release""$patch_level"

View File

@ -38,7 +38,7 @@ original="./libburn_svn.tgz"
# My changes are in $changes , mainly in $changes/cdrskin
changes="./libburn-develop"
skin_release="1.0.3"
skin_release="1.0.1"
patch_level=""
skin_rev="$skin_release""$patch_level"

View File

@ -88,7 +88,7 @@ or
/** The official program version */
#ifndef Cdrskin_prog_versioN
#define Cdrskin_prog_versioN "1.0.2"
#define Cdrskin_prog_versioN "1.0.0"
#endif
/** The official libburn interface revision to use.
@ -101,7 +101,7 @@ or
#define Cdrskin_libburn_minoR 0
#endif
#ifndef Cdrskin_libburn_micrO
#define Cdrskin_libburn_micrO 2
#define Cdrskin_libburn_micrO 0
#endif
@ -135,13 +135,13 @@ or
#endif /* Cdrskin_libburn_cvs_A60220_tS */
#ifdef Cdrskin_libburn_1_0_2
#define Cdrskin_libburn_versioN "1.0.2"
#ifdef Cdrskin_libburn_1_0_0
#define Cdrskin_libburn_versioN "1.0.0"
#define Cdrskin_libburn_from_pykix_svN 1
#endif /* Cdrskin_libburn_1_0_2 */
#endif /* Cdrskin_libburn_1_0_0 */
#ifdef Cdrskin_libburn_1_0_3
#define Cdrskin_libburn_versioN "1.0.3"
#ifdef Cdrskin_libburn_1_0_1
#define Cdrskin_libburn_versioN "1.0.1"
#define Cdrskin_libburn_from_pykix_svN 1
/* Place novelty switch macros here.
@ -153,29 +153,29 @@ or
*/
#endif /* Cdrskin_libburn_1_0_3 */
#endif /* Cdrskin_libburn_1_0_1 */
#ifndef Cdrskin_libburn_versioN
#define Cdrskin_libburn_1_0_2
#define Cdrskin_libburn_versioN "1.0.2"
#define Cdrskin_libburn_1_0_0
#define Cdrskin_libburn_versioN "1.0.0"
#define Cdrskin_libburn_from_pykix_svN 1
#endif
#ifdef Cdrskin_libburn_1_0_2
#ifdef Cdrskin_libburn_1_0_0
#undef Cdrskin_libburn_majoR
#undef Cdrskin_libburn_minoR
#undef Cdrskin_libburn_micrO
#define Cdrskin_libburn_majoR 1
#define Cdrskin_libburn_minoR 0
#define Cdrskin_libburn_micrO 2
#define Cdrskin_libburn_micrO 0
#endif
#ifdef Cdrskin_libburn_1_0_3
#ifdef Cdrskin_libburn_1_0_1
#undef Cdrskin_libburn_majoR
#undef Cdrskin_libburn_minoR
#undef Cdrskin_libburn_micrO
#define Cdrskin_libburn_majoR 1
#define Cdrskin_libburn_minoR 0
#define Cdrskin_libburn_micrO 3
#define Cdrskin_libburn_micrO 1
#endif
@ -3171,7 +3171,7 @@ set_severities:;
int major, minor, micro;
printf(
"Cdrecord 2.01-Emulation Copyright (C) 2006-2011, see libburnia-project.org\n");
"Cdrecord 2.01-Emulation Copyright (C) 2006-2010, see libburnia-project.org\n");
if(o->fallback_program[0]) {
char *hargv[2];

View File

@ -65,7 +65,7 @@ connected via SCSI, PATA (aka IDE, ATA), USB, or SATA.
GPL software included:<BR>
</H2>
<DL>
<DT>libburn-1.0.2</DT>
<DT>libburn-1.0.0</DT>
<DD>(founded by Derek Foreman and Ben Jansens,
developed and maintained since August 2006 by
Thomas Schmitt from team of libburnia-project.org)
@ -200,7 +200,7 @@ Standalone ISO 9660 multi-session CD/DVD/BD tool
<P>
<DL>
<DT>Download as source code (see README):</DT>
<DD><A HREF="cdrskin-1.0.2.pl00.tar.gz">cdrskin-1.0.2.pl00.tar.gz</A>
<DD><A HREF="cdrskin-1.0.0.pl00.tar.gz">cdrskin-1.0.0.pl00.tar.gz</A>
(870 KB).
</DD>
<DD>
@ -250,19 +250,18 @@ cdrskin_0.4.2.pl00-x86-suse9_0-static.tar.gz</A>, (310 KB), -static compiled,
<HR>
<P>
Enhancements towards previous stable version cdrskin-1.0.0.pl00:
Enhancements towards previous stable version cdrskin-0.9.0.pl00:
<UL>
<LI>
<LI>Removed compilation obstacles on Solaris 9</LI>
<LI>
Improved recognition of non-seekable stdio pseudo-drives.
<LI>Allowed umask to create stdio-drive files with rw-permissions for all</LI>
<LI>cdrskin now refuses to burn if the foreseeable size exceeds media capacity
</LI>
<!--
<LI>none</LI>
-->
</UL>
Bug fixes towards cdrskin-1.0.0.pl00:
Bug fixes towards cdrskin-0.9.0.pl00:
<UL>
<LI>none</LI>
<!--
@ -274,8 +273,8 @@ Bug fixes towards cdrskin-1.0.0.pl00:
<P>
<DL>
<DT><H3>Development snapshot, version 1.0.3 :</H3></DT>
<DD>Enhancements towards current stable version 1.0.2.pl00:
<DT><H3>Development snapshot, version 1.0.1 :</H3></DT>
<DD>Enhancements towards current stable version 1.0.0.pl00:
<UL>
<LI>none yet</LI>
<!--
@ -285,7 +284,7 @@ Bug fixes towards cdrskin-1.0.0.pl00:
</UL>
</DD>
<DD>Bug fixes towards cdrskin-1.0.2.pl00:
<DD>Bug fixes towards cdrskin-1.0.0.pl00:
<UL>
<LI>none yet</LI>
<!--
@ -295,10 +294,10 @@ Bug fixes towards cdrskin-1.0.0.pl00:
</DD>
<DD>&nbsp;</DD>
<DD><A HREF="README_cdrskin_devel">README 1.0.3</A>
<DD><A HREF="cdrskin__help_devel">cdrskin-1.0.3 --help</A></DD>
<DD><A HREF="cdrskin_help_devel">cdrskin-1.0.3 -help</A></DD>
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 1.0.3)</A></DD>
<DD><A HREF="README_cdrskin_devel">README 1.0.1</A>
<DD><A HREF="cdrskin__help_devel">cdrskin-1.0.1 --help</A></DD>
<DD><A HREF="cdrskin_help_devel">cdrskin-1.0.1 -help</A></DD>
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 1.0.1)</A></DD>
<DD>&nbsp;</DD>
<DT>Maintainers of cdrskin unstable packages please use SVN of
<A HREF="http://libburnia-project.org"> libburnia-project.org</A></DT>
@ -318,7 +317,7 @@ admins with full system souvereignty.</DT>
<A HREF="README_cdrskin_devel">upcoming README</A> ):
</DD>
<DD>
<A HREF="cdrskin-1.0.3.tar.gz">cdrskin-1.0.3.tar.gz</A>
<A HREF="cdrskin-1.0.1.tar.gz">cdrskin-1.0.1.tar.gz</A>
(870 KB).
</DD>

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2011.02.23.130001"
#define Cdrskin_timestamP "2011.01.16.123001"

View File

@ -9078,7 +9078,7 @@ Made number transition to 1.0.0
+ cdrskin/add_ts_changes_to_libburn_1_0_1
Updated cdrskin tarball generator
16 Jan 2011 [3552]
[]
ChangeLog
cdrskin/changelog.txt
Documented changes and release timestamp
@ -9088,92 +9088,8 @@ Documented changes and release timestamp
* cdrskin now refuses to burn if the foreseeable size exceeds media capacity
2011.01.16.140456 [3553]
Makefile.am
configure.ac
README
libburn/libburn.h
cdrskin/cdrskin.c
cdrskin/README
cdrskin/compile_cdrskin.sh
cdrskin/cdrskin_timestamp.h
cdrskin/cdrskin_eng.html
Made number transition to 1.0.1
16 Jan 2011 [3554]
- cdrskin/add_ts_changes_to_libburn_0_9_0
- cdrskin/add_ts_changes_to_libburn_0_9_1
+ cdrskin/add_ts_changes_to_libburn_1_0_0
+ cdrskin/add_ts_changes_to_libburn_1_0_1
Updated cdrskin tarball generator
16 Jan 2011 [3555]
ChangeLog
cdrskin/changelog.txt
Documented changes and release timestamp
16 Jan 2011 [3556]
svn move -m "libburn release 1.0.0 is ready" \
http://svn.libburnia-project.org/libburn/branches/1.0.0 \
http://svn.libburnia-project.org/libburn/tags/1.0.0
------------------------------------ cycle - cdrskin-1.0.1 - 2011.01.16.152923
2011.01.18.162859 [3570]
libburn/file.c
Using usleep() instead of nanosleep() which is not available on Solaris 9
2011.02.09.114311 [3586]
libburn/write.c
libburn/drive.c
Forced role 3 on drives which stem from open file descriptors without O_RDWR
2011.02.14.085951 [3589]
libburn/drive.c
Reacted on compiler warnings about uninitialized variables
2011.02.18.165542 [3592]
libburn/drive.c
libburn/sector.c
DEBUG message with burn_drive_cancel, FAILURE with premature end-of-input
23 Feb 2011 [3604]
svn copy -m Branching for libburn release 1.0.2
http://svn.libburnia-project.org/libburn/trunk
http://svn.libburnia-project.org/libburn/branches/1.0.2
2011.02.23.130001 [3605]
Makefile.am
configure.ac
README
libburn/libburn.h
cdrskin/cdrskin.c
cdrskin/README
cdrskin/compile_cdrskin.sh
cdrskin/cdrskin_timestamp.h
cdrskin/cdrskin_eng.html
Made number transition to 1.0.2
23 Feb 2011 [3606]
- cdrskin/add_ts_changes_to_libburn_1_0_0
- cdrskin/add_ts_changes_to_libburn_1_0_1
+ cdrskin/add_ts_changes_to_libburn_1_0_2
+ cdrskin/add_ts_changes_to_libburn_1_0_3
Updated cdrskin tarball generator
23 Feb 2011 []
ChangeLog
cdrskin/changelog.txt
Documented changes and release timestamp
------------------------------------ cycle - cdrskin-1.0.2 -
------------------------------------ cycle - cdrskin-1.0.3 -
------------------------------------ cycle - cdrskin-1.0.3 -
------------------------------------ cycle - cdrskin-1.0.1 -
------------------------------------ cycle - cdrskin-1.0.1 -
@ -9187,12 +9103,6 @@ Important: When adding a public API function then add its name to file
===============================================================================
Let DVD-R DAO allocate exact track sizes (not divisible by 16 blocks)
Expose BD type from bytes 8+4 to 10+4 out of READ BD STRUCTURE form 0.
Better motivation of burn_set_signal_handling() in libburn.h.
-------------------------------- Solaris -----------------------------------

View File

@ -8,7 +8,7 @@ debug_opts="-O2"
def_opts=
largefile_opts="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1"
fifo_opts=""
libvers="-DCdrskin_libburn_1_0_2"
libvers="-DCdrskin_libburn_1_0_0"
# To be used if Makefile.am uses libburn_libburn_la_CFLAGS
# burn="libburn/libburn_libburn_la-"
@ -47,15 +47,15 @@ do
libdax_audioxtr_o=
libdax_msgs_o="$burn"message.o
cleanup_src_or_obj="-DCleanup_has_no_libburn_os_H cdrskin/cleanup.c"
elif test "$i" = "-libburn_1_0_2"
elif test "$i" = "-libburn_1_0_0"
then
libvers="-DCdrskin_libburn_1_0_2"
libvers="-DCdrskin_libburn_1_0_0"
libdax_audioxtr_o="$burn"libdax_audioxtr.o
libdax_msgs_o="$burn"libdax_msgs.o
cleanup_src_or_obj="$burn"cleanup.o
elif test "$i" = "-libburn_svn"
then
libvers="-DCdrskin_libburn_1_0_3"
libvers="-DCdrskin_libburn_1_0_1"
libdax_audioxtr_o="$burn"libdax_audioxtr.o
libdax_msgs_o="$burn"libdax_msgs.o
cleanup_src_or_obj="$burn"cleanup.o
@ -109,7 +109,7 @@ do
echo "Options:"
echo " -compile_cdrfifo compile program cdrskin/cdrfifo."
echo " -compile_dewav compile program test/dewav without libburn."
echo " -libburn_1_0_2 set macro to match libburn-1.0.2"
echo " -libburn_1_0_0 set macro to match libburn-1.0.0"
echo " -libburn_svn set macro to match current libburn-SVN."
echo " -dvd_obs_64k 64 KB default size for DVD/BD writing."
echo " -use_libcdio link with -lcdio because libburn uses it."

View File

@ -1,4 +1,4 @@
AC_INIT([libburn], [1.0.2], [http://libburnia-project.org])
AC_INIT([libburn], [1.0.0], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -87,7 +87,6 @@ dnl 0.8.6 = libburn.so.4.51.0
dnl 0.8.8 = libburn.so.4.53.0
dnl 0.9.0 = libburn.so.4.55.0
dnl 1.0.0 = libburn.so.4.57.0
dnl 1.0.2 = libburn.so.4.59.0
dnl
dnl So LT_CURRENT, LT_REVISION and LT_AGE get set directly here.
dnl SONAME of the emerging library is LT_CURRENT - LT_AGE.
@ -113,7 +112,7 @@ dnl
dnl As said: Only copies. Original in libburn/libburn.h : burn_header_version_*
BURN_MAJOR_VERSION=1
BURN_MINOR_VERSION=0
BURN_MICRO_VERSION=2
BURN_MICRO_VERSION=0
BURN_VERSION=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION
AC_SUBST(BURN_MAJOR_VERSION)
@ -124,14 +123,14 @@ AC_SUBST(BURN_VERSION)
dnl Libtool versioning
LT_RELEASE=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION
dnl
dnl This is the release version libburn-1.0.2
dnl ### This is the development version after above release version
dnl ### This is the release version libburn-1.0.0
dnl This is the development version after above release version
dnl LT_CURRENT++, LT_AGE++ has not yet happened.
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
dnl
dnl SONAME = 63 - 59 = 4 . Linux library name = libburn.so.4.59.0
LT_CURRENT=63
LT_AGE=59
dnl SONAME = 61 - 57 = 4 . Linux library name = libburn.so.4.57.0
LT_CURRENT=61
LT_AGE=57
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`

View File

@ -24,7 +24,6 @@
#include <ctype.h>
#include <pthread.h>
#include <errno.h>
#include <fcntl.h>
#include "libburn.h"
#include "init.h"
#include "drive.h"
@ -870,11 +869,6 @@ void burn_drive_cancel(struct burn_drive *d)
/* ts B00225 : these mutexes are unnecessary because "= 1" is atomar.
pthread_mutex_lock(&d->access_lock);
*/
if (!d->cancel) {
libdax_msgs_submit(libdax_messenger, -1, 0x00000002,
LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_ZERO,
"burn_drive_cancel() was called", 0, 0);
}
d->cancel = 1;
/*
pthread_mutex_unlock(&d->access_lock);
@ -1361,50 +1355,11 @@ int burn_drive__fd_from_special_adr(char *adr)
}
static int burn_drive__is_rdwr(char *fname, int *stat_ret,
struct stat *stbuf_ret,
off_t *read_size_ret, int flag)
{
int fd, is_rdwr = 1, ret, getfl_ret, st_ret;
struct stat stbuf;
off_t read_size = 0;
memset(&stbuf, 0, sizeof(stbuf));
fd = burn_drive__fd_from_special_adr(fname);
if (fd >= 0)
st_ret = fstat(fd, &stbuf);
else
st_ret = stat(fname, &stbuf);
if (st_ret != -1) {
is_rdwr = burn_os_is_2k_seekrw(fname, 0);
if (S_ISREG(stbuf.st_mode))
read_size = stbuf.st_size;
else if (is_rdwr) {
ret = burn_os_stdio_capacity(fname, &read_size);
if (ret <= 0)
read_size = (off_t) 0x7ffffff0 * (off_t) 2048;
}
}
if (is_rdwr && fd >= 0) {
getfl_ret = fcntl(fd, F_GETFL);
if (getfl_ret == -1 || (getfl_ret & O_RDWR) != O_RDWR)
is_rdwr = 0;
}
if (stat_ret != NULL)
*stat_ret = st_ret;
if (stbuf_ret != NULL)
memcpy(stbuf_ret, &stbuf, sizeof(stbuf));
if (read_size_ret != NULL)
*read_size_ret = read_size;
return is_rdwr;
}
/* ts A70903 : Implements adquiration of pseudo drives */
int burn_drive_grab_dummy(struct burn_drive_info *drive_infos[], char *fname)
{
int ret = -1, role = 0;
int is_rdwr = 0, stat_ret;
int ret = -1, fd = -1, role = 0;
int is_block_dev = 0;
/* divided by 512 it needs to fit into a signed long integer */
off_t size = ((off_t) (512 * 1024 * 1024 - 1) * (off_t) 2048);
off_t read_size = -1;
@ -1414,9 +1369,25 @@ int burn_drive_grab_dummy(struct burn_drive_info *drive_infos[], char *fname)
static int allow_role_3 = 1;
if (fname[0] != 0) {
is_rdwr = burn_drive__is_rdwr(fname, &stat_ret, &stbuf,
&read_size, 0);
if (stat_ret == -1 || is_rdwr) {
memset(&stbuf, 0, sizeof(stbuf));
fd = burn_drive__fd_from_special_adr(fname);
if (fd >= 0)
ret = fstat(fd, &stbuf);
else
ret = stat(fname, &stbuf);
if (ret != -1) {
is_block_dev = burn_os_is_2k_seekrw(fname, 0);
if (S_ISREG(stbuf.st_mode))
read_size = stbuf.st_size;
else if (is_block_dev) {
ret = burn_os_stdio_capacity(fname,
&read_size);
if (ret <= 0)
read_size = (off_t) 0x7ffffff0 *
(off_t) 2048;
}
}
if (ret == -1 || is_block_dev || S_ISREG(stbuf.st_mode)) {
ret = burn_os_stdio_capacity(fname, &size);
if (ret == -1) {
libdax_msgs_submit(libdax_messenger, -1,
@ -2672,49 +2643,26 @@ int burn_drive_equals_adr(struct burn_drive *d1, char *adr2_in, int role2)
char adr1[BURN_DRIVE_ADR_LEN], *adr2 = adr2_in;
char conv_adr1[BURN_DRIVE_ADR_LEN], conv_adr2[BURN_DRIVE_ADR_LEN];
char *npt1, *dpt1, *npt2, *dpt2;
int role1, stat_ret1, stat_ret2, conv_ret2, exact_role_matters = 0, fd;
int ret;
int role1, stat_ret1, stat_ret2, conv_ret2;
role1 = burn_drive_get_drive_role(d1);
burn_drive_d_get_adr(d1, adr1);
stat_ret1 = stat(adr1, &stbuf1);
/* If one of the candidate paths depicts an open file descriptor then
its read-write capability decides about its role and the difference
between roles 2 and 3 does matter.
*/
fd = burn_drive__fd_from_special_adr(d1->devname);
if (fd != -1)
exact_role_matters = 1;
if (strncmp(adr2, "stdio:", 6) == 0) {
adr2+= 6;
if (adr2[0] == 0) {
role2 = 0;
} else {
fd = burn_drive__fd_from_special_adr(adr2);
if (fd != -1)
exact_role_matters = 1;
ret = burn_drive__is_rdwr(adr2, NULL, NULL, NULL, 0);
if (ret == 1)
role2 = 2;
else
role2 = 3;
}
role2 = (!!adr2[0]) * 2;
}
if (strlen(adr2) >= BURN_DRIVE_ADR_LEN)
return -1;
stat_ret2 = stat(adr2, &stbuf2);
conv_ret2 = burn_drive_convert_fs_adr(adr2, conv_adr2);
if (!exact_role_matters) {
/* roles 2 and 3 have the same name space and object
interpretation */
if (role1 == 3)
role1 = 2;
if (role2 == 3)
role2 = 2;
}
/* roles 2 and 3 have the same name space and object interpretation */
if (role1 == 3)
role1 = 2;
if (role2 == 3)
role2 = 2;
if (strcmp(adr1, adr2) == 0 && role1 == role2)
return(1); /* equal role and address */
@ -2732,8 +2680,6 @@ int burn_drive_equals_adr(struct burn_drive *d1, char *adr2_in, int role2)
else if (role1 != 1 && role2 != 1) {
/* pseudo-drive meets file object */
if (role1 != role2)
return 0;
if (stat_ret1 == -1 || stat_ret2 == -1) {
if (stat_ret1 != -1 || stat_ret2 != -1)
return 0; /* one adress existing, one not */

View File

@ -211,10 +211,9 @@ struct burn_source *burn_fd_source_new(int datafd, int subfd, off_t size)
static int fifo_sleep(int flag)
{
static unsigned long sleeptime = 50000; /* 50 ms */
static struct timespec sleeptime = { 0, 50000000}; /* 50 ms */
usleep(sleeptime);
return 0;
return nanosleep(&sleeptime, NULL);
}

View File

@ -2692,7 +2692,7 @@ void burn_version(int *major, int *minor, int *micro);
*/
#define burn_header_version_major 1
#define burn_header_version_minor 0
#define burn_header_version_micro 2
#define burn_header_version_micro 0
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.

View File

@ -183,14 +183,7 @@ static void get_bytes(struct burn_track *track, int count, unsigned char *data)
if (shortage >= count)
track->track_data_done = 1;
if (track->end_on_premature_eoi && !track->open_ended) {
char msg[80];
/* Memorize that premature end of input happened */
sprintf(msg,
"Premature end of input encountered. Missing: %d bytes",
shortage);
libdax_msgs_submit(libdax_messenger, -1, 0x00020180,
LIBDAX_MSGS_SEV_FAILURE, LIBDAX_MSGS_PRIO_HIGH,
msg, 0,0);
track->end_on_premature_eoi = 2;
}
if (track->open_ended || track->end_on_premature_eoi)

View File

@ -2034,7 +2034,6 @@ int burn_stdio_open_write(struct burn_drive *d, off_t start_byte,
int fd = -1;
int mode = O_RDWR | O_CREAT | O_LARGEFILE;
char msg[160];
off_t lseek_res;
if (d->devname[0] == 0) /* null drives should not come here */
return -1;
@ -2054,11 +2053,10 @@ int burn_stdio_open_write(struct burn_drive *d, off_t start_byte,
}
if (start_byte < 0)
start_byte = 0;
if (d->drive_role == 2) {
lseek_res = lseek(fd, start_byte, SEEK_SET);
if (lseek_res == -1) {
if (d->drive_role == 2)
if (lseek(fd, start_byte, SEEK_SET)==-1) {
sprintf(msg, "Cannot address start byte %.f",
(double) start_byte);
(double) start_byte);
libdax_msgs_submit(libdax_messenger, d->global_index,
0x00020147,
LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH,
@ -2067,7 +2065,6 @@ int burn_stdio_open_write(struct burn_drive *d, off_t start_byte,
d->cancel = 1;
fd = -1;
}
}
d->nwa = start_byte / sector_size;
return fd;
}