(Payload files of revisions 3169, 3170, 3171)
This commit is contained in:
parent
f6ec684ab5
commit
0828b9521c
@ -50,8 +50,9 @@ dnl From Bruno Haible.
|
||||
dnl
|
||||
AC_DEFUN([LIBBURNIA_CHECK_ICONV],
|
||||
[
|
||||
|
||||
dnl Check whether it is allowed to link with -liconv
|
||||
AC_MSG_CHECKING([for separate -liconv ])
|
||||
AC_MSG_CHECKING([for iconv() in separate -liconv ])
|
||||
libburnia_liconv="no"
|
||||
libburnia_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -liconv"
|
||||
@ -65,6 +66,13 @@ AC_DEFUN([LIBBURNIA_CHECK_ICONV],
|
||||
)
|
||||
AC_MSG_RESULT([$libburnia_liconv])
|
||||
|
||||
if test x"$libburnia_save_LIBS" = x"$LIBS"
|
||||
then
|
||||
dnl GNU iconv has no function iconv() but libiconv() and a macro iconv()
|
||||
dnl It is not tested whether this is detected by above macro.
|
||||
AC_CHECK_LIB(iconv, libiconv, , )
|
||||
fi
|
||||
|
||||
dnl Check for iconv(..., const char **inbuf, ...)
|
||||
AC_MSG_CHECKING([for const qualifier with iconv() ])
|
||||
AC_TRY_COMPILE([
|
||||
@ -79,6 +87,50 @@ size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, si
|
||||
])
|
||||
|
||||
|
||||
dnl LIBBURNIA_ASSERT_ICONV is by Thomas Schmitt, libburnia project
|
||||
dnl
|
||||
AC_DEFUN([LIBBURNIA_ASSERT_ICONV],
|
||||
[
|
||||
if test x$XORRISO_ASSUME_ICONV = x
|
||||
then
|
||||
dnl Check for the essential gestures of libisofs/util.c
|
||||
AC_MSG_CHECKING([for iconv() to be accessible now ])
|
||||
AC_TRY_LINK([
|
||||
#include <stdlib.h>
|
||||
#include <wchar.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
#include <iconv.h>
|
||||
#include <locale.h>
|
||||
#include <langinfo.h>
|
||||
#include <unistd.h>],
|
||||
[iconv_t cd = iconv_open("","");
|
||||
iconv(cd,NULL,NULL,NULL,NULL);
|
||||
iconv_close(cd);
|
||||
], [iconv_test="yes"], [iconv_test="no"]
|
||||
)
|
||||
AC_MSG_RESULT([$iconv_test])
|
||||
if test x$iconv_test = xno
|
||||
then
|
||||
echo >&2
|
||||
echo "Cannot get function iconv() to work. Configuration aborted." >&2
|
||||
echo "Check whether your system needs a separate libiconv installed." >&2
|
||||
echo "If it is installed but not found, try something like" >&2
|
||||
echo ' export LDFLAGS="$LDFLAGS -L/usr/local/lib"' >&2
|
||||
echo ' export CPPFLAGS="$CPPFLAGS -I/usr/local/include"' >&2
|
||||
echo ' export LIBS="$LIBS -liconv"' >&2
|
||||
echo "You may override this test by exporting variable" >&2
|
||||
echo " XORRISO_ASSUME_ICONV=yes" >&2
|
||||
echo >&2
|
||||
(exit 1); exit 1;
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl LIBBURNIA_SET_PKGCONFIG determines the install directory for the *.pc file.
|
||||
dnl Important: Must be performed _after_ TARGET_SHIZZLE
|
||||
dnl
|
||||
|
@ -126,11 +126,13 @@ int Compare_2_files(char *adr1, char *adr2, char *adrc, int flag)
|
||||
differs= 1;
|
||||
}
|
||||
if(s1.st_uid != s2.st_uid) {
|
||||
printf("%s : st_uid : %d <> %d\n", a, s1.st_uid, s2.st_uid);
|
||||
printf("%s : st_uid : %d <> %d\n",
|
||||
a, (int) s1.st_uid, (int) s2.st_uid);
|
||||
differs= 1;
|
||||
}
|
||||
if(s1.st_gid != s2.st_gid) {
|
||||
printf("%s : st_gid : %d <> %d\n", a, s1.st_gid, s2.st_gid);
|
||||
printf("%s : st_gid : %d <> %d\n",
|
||||
a, (int) s1.st_gid, (int) s2.st_gid);
|
||||
differs= 1;
|
||||
}
|
||||
if((S_ISCHR(s1.st_mode) && S_ISCHR(s2.st_mode)) ||
|
||||
|
@ -55,6 +55,8 @@ then
|
||||
|
||||
dnl ts B00410 : To detect the need for -liconv and const argument of iconv()
|
||||
LIBBURNIA_CHECK_ICONV
|
||||
dnl ts B00411 : To abort configuration if iconv() still cannot be compiled
|
||||
LIBBURNIA_ASSERT_ICONV
|
||||
|
||||
else
|
||||
|
||||
|
@ -8093,13 +8093,15 @@ int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr,
|
||||
}
|
||||
|
||||
if(s1.st_uid != s2.st_uid) {
|
||||
sprintf(respt, "%s st_uid : %d <> %d\n", a, s1.st_uid, s2.st_uid);
|
||||
sprintf(respt, "%s st_uid : %d <> %d\n", a,
|
||||
(int) s1.st_uid, (int) s2.st_uid);
|
||||
if(!(flag&(1<<31)))
|
||||
Xorriso_result(xorriso,0);
|
||||
(*result)|= 16;
|
||||
}
|
||||
if(s1.st_gid != s2.st_gid) {
|
||||
sprintf(respt, "%s st_gid : %d <> %d\n", a, s1.st_gid, s2.st_gid);
|
||||
sprintf(respt, "%s st_gid : %d <> %d\n", a,
|
||||
(int) s1.st_gid, (int) s2.st_gid);
|
||||
if(!(flag&(1<<31)))
|
||||
Xorriso_result(xorriso,0);
|
||||
(*result)|= 32;
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2010.04.11.121418"
|
||||
#define Xorriso_timestamP "2010.04.11.122253"
|
||||
|
@ -1698,7 +1698,7 @@ int Xorriso_set_system_area(struct XorrisO *xorriso,
|
||||
char buf[32768], *bufpt= NULL;
|
||||
|
||||
if(xorriso->system_area_disk_path[0] == 0)
|
||||
goto do_set;
|
||||
{ret= 0; goto do_set;}
|
||||
|
||||
ret= Xorriso_afile_fopen(xorriso, xorriso->system_area_disk_path,
|
||||
"rb", &fp, 0);
|
||||
@ -1718,10 +1718,12 @@ int Xorriso_set_system_area(struct XorrisO *xorriso,
|
||||
bufpt= buf;
|
||||
|
||||
do_set:;
|
||||
sprintf(xorriso->info_text, "Copying to System Area: %d bytes from file ",
|
||||
ret);
|
||||
Text_shellsafe(xorriso->system_area_disk_path, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
if(ret > 0) {
|
||||
sprintf(xorriso->info_text, "Copying to System Area: %d bytes from file ",
|
||||
ret);
|
||||
Text_shellsafe(xorriso->system_area_disk_path, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
}
|
||||
ret= isoburn_igopt_set_system_area(sopts, bufpt,
|
||||
xorriso->system_area_options);
|
||||
if(ret != ISO_SUCCESS) {
|
||||
|
Loading…
Reference in New Issue
Block a user