echo -n is not working on all shells, in particular it does not seem
to work on Sun /bin/sh shell; instead use subshells to have the same
output everywhere.
With this change, instead of using the fully qualified path to the
shared object (or the one that the configure think is the fully
qualified path), the path where the library is found will be added to
the search path and just a generic -liconv will be used.
The old variable would be fooled up when /usr/lib/libiconv.so is an LD
script that redirects to /lib/libiconv.so, causing failures with some
linkers.
Also, replace @LIBICONV@ for libcdio itself also with $(LTLIBICONV) or
it will fail to link against on uClibc.
* configure.ac: Added AC_LIBTOOL_WIN32_DLL for enabling the creation of shared libraries.
* configure.ac: Added -I$(top_srcdir)/include to LIBCDIO_CFLAGS, it allows to build outside the source tree.
* configure.ac: Added LT_NO_UNDEFINED for adding '-no-undefined' switch to libtool when building win32 shared libraries.
* configure.ac: Check for Windows.h presence if under Mingw (included for using Sleep() function).
* configure.ac: Check for more missing functions: setenv(), unsetenv(), sleep(), gmtime_r(), localtime_r().
* example/cdchange.c: If sleep() function does not exist, it tries to emulate it with a similar code (require inclusion of Windows.h)
* src/cddb.c:
* lib/cdda_interface/scsi_interface.c: Compilation fails because u_int32_t is undefined. It has been changed to uint32_t to be compliant to all other parts of the libraries.
* lib/cdda_interface/Makefile.am:
* lib/iso9660/Makefile.am:
* lib/cdio++/Makefile.am:
* lib/paranoia/Makefile.am:
* lib/udf/Makefile.am:
* lib/driver/Makefile.am: added LT_NO_UNDEFINED to libtool flags.
* lib/iso9660/iso9660.c: Added replacements for setenv(), unsetenv(), gmtime_r\
(), localtime_r().
sprintf's to snprintf's and check the return.
Turn check1list and check2list looping into a fixed constant number of
iterations rather than rely on a sentinal.
character arrays.
The size of sigs has increased a bit but now the sigs array can stay
entirely in .rodata section, with no runtime relocations.
Having 128 bytes sized elements also allows for direct random access
on the array without multiplications.
Also replace the three Dummy functions wth dummy_exception (also common).
Bump the revision.
This reduces the memory footprint of libcdda_interface of about 200 bytes.
buffer that disappears when the function terminates. This might lead
to segmentation faults. Reset to the old TZ value (if any) or unset
the variable if it was previously not set. Problem noted and fixed by
Nicolas Boullis.
libcdio tries to adjust "converted ISO9660 timezones" in iso9660_set_ltime
on such architectures, it would replace legitimate negative values with
52.
Cast &_pv_date[16] to "iso712_t *" and then dereference.
Patch from Nicolas Boullis:
doc: small spelling typos.
iso9660.c: use reentrant version of localtime and gettime (most of the time)
Patch from Nicolas Boullis.
testiso9660.c: Change a memcmp for a test_compare which gives more detailed
information on failure.