[-]
[+]
|
Changed |
xorriso.changes
|
|
[-]
[+]
|
Changed |
xorriso.spec
^
|
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/README
^
|
@@ -4,7 +4,7 @@
GNU xorriso. By Thomas Schmitt <scdbackup@gmx.net>
Derived from and supported by libburnia-project.org, published via:
http://www.gnu.org/software/xorriso/xorriso_eng.html
-http://www.gnu.org/software/xorriso/xorriso-1.1.2.tar.gz
+http://www.gnu.org/software/xorriso/xorriso-1.1.4.tar.gz
Provided under GPL version 3 or later. No warranty.
------------------------------------------------------------------------------
@@ -46,10 +46,10 @@
If they were present at compile time, then the optional libraries have to
be present at runtime, too.
-Obtain xorriso-1.1.2.tar.gz, take it to a directory of your choice and do:
+Obtain xorriso-1.1.4.tar.gz, take it to a directory of your choice and do:
- tar xzf xorriso-1.1.2.tar.gz
- cd xorriso-1.1.2
+ tar xzf xorriso-1.1.4.tar.gz
+ cd xorriso-1.1.4
Within that directory execute:
@@ -289,9 +289,9 @@
This binary is very lean but depends on properly installed libraries of
suitable revision.
-Dynamic library and compile time header requirements for libisoburn-1.1.2 :
-- libburn.so.4 , version libburn-1.1.0 or higher
-- libisofs.so.6 , version libisofs-1.1.2 or higher
+Dynamic library and compile time header requirements for libisoburn-1.1.4 :
+- libburn.so.4 , version libburn-1.1.4 or higher
+- libisofs.so.6 , version libisofs-1.1.4 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time. So compile in the oldest possible installation
setup unless you have reason to enforce a newer bug fix level.
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/config.status
^
|
@@ -275,7 +275,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libisoburn $as_me 1.1.1, which was
+This file was extended by libisoburn $as_me 1.1.3, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -314,9 +314,9 @@
Report bugs to <bug-autoconf@gnu.org>."
ac_cs_version="\
-libisoburn config.status 1.1.1
+libisoburn config.status 1.1.3
configured by ./configure_ts, generated by GNU Autoconf 2.60,
- with options \"\"
+ with options \"'--prefix=/usr'\"
Copyright (C) 2006 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
@@ -381,10 +381,10 @@
fi
if $ac_cs_recheck; then
- echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure_ts " $ac_configure_extra_args " --no-create --no-recursion" >&6
+ echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure_ts " '--prefix=/usr' $ac_configure_extra_args " --no-create --no-recursion" >&6
CONFIG_SHELL=/bin/sh
export CONFIG_SHELL
- exec /bin/sh "./configure_ts" $ac_configure_extra_args --no-create --no-recursion
+ exec /bin/sh "./configure_ts" '--prefix=/usr' $ac_configure_extra_args --no-create --no-recursion
fi
exec 5>>config.log
@@ -471,11 +471,11 @@
s,@PATH_SEPARATOR@,|#_!!_#|:,g
s,@PACKAGE_NAME@,|#_!!_#|libisoburn,g
s,@PACKAGE_TARNAME@,|#_!!_#|libisoburn,g
-s,@PACKAGE_VERSION@,|#_!!_#|1.1.1,g
-s,@PACKAGE_STRING@,|#_!!_#|libisoburn 1.1.1,g
+s,@PACKAGE_VERSION@,|#_!!_#|1.1.3,g
+s,@PACKAGE_STRING@,|#_!!_#|libisoburn 1.1.3,g
s,@PACKAGE_BUGREPORT@,|#_!!_#|http://libburnia-project.org,g
s,@exec_prefix@,|#_!!_#|${prefix},g
-s,@prefix@,|#_!!_#|/usr/local,g
+s,@prefix@,|#_!!_#|/usr,g
s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g
s,@bindir@,|#_!!_#|${exec_prefix}/bin,g
s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g
@@ -496,7 +496,7 @@
s,@libdir@,|#_!!_#|${exec_prefix}/lib,g
s,@localedir@,|#_!!_#|${datarootdir}/locale,g
s,@mandir@,|#_!!_#|${datarootdir}/man,g
-s,@DEFS@,|#_!!_#|-DPACKAGE_NAME=\\"libisoburn\\" -DPACKAGE_TARNAME=\\"libisoburn\\" -DPACKAGE_VERSION=\\"1.1.1\\" -DPACKAGE_STRING=\\"libisoburn\\ 1.1.1\\" -DPACKAGE_BUGREPORT=\\"http://libburnia-project.org\\" -DPACKAGE=\\"libisoburn\\" -DVERSION=\\"1.1.1\\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FSEEKO=1 -DICONV_CONST= -DHAVE_DLFCN_H=1 -DHAVE_LIBACL=1 -DHAVE_LIBZ=1 -DHAVE_LIBJTE=1,g
+s,@DEFS@,|#_!!_#|-DPACKAGE_NAME=\\"libisoburn\\" -DPACKAGE_TARNAME=\\"libisoburn\\" -DPACKAGE_VERSION=\\"1.1.3\\" -DPACKAGE_STRING=\\"libisoburn\\ 1.1.3\\" -DPACKAGE_BUGREPORT=\\"http://libburnia-project.org\\" -DPACKAGE=\\"libisoburn\\" -DVERSION=\\"1.1.3\\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FSEEKO=1 -DICONV_CONST= -DHAVE_DLFCN_H=1 -DHAVE_LIBACL=1 -DHAVE_LIBZ=1 -DHAVE_LIBJTE=1,g
s,@ECHO_C@,|#_!!_#|,g
s,@ECHO_N@,|#_!!_#|-n,g
s,@ECHO_T@,|#_!!_#|,g
@@ -521,7 +521,7 @@
s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g
s,@CYGPATH_W@,|#_!!_#|echo,g
s,@PACKAGE@,|#_!!_#|libisoburn,g
-s,@VERSION@,|#_!!_#|1.1.1,g
+s,@VERSION@,|#_!!_#|1.1.3,g
s,@ACLOCAL@,|#_!!_#|${SHELL} /home/thomas/projekte/cdrskin_dir/libisoburn-develop/missing --run aclocal-1.9,g
s,@AUTOCONF@,|#_!!_#|${SHELL} /home/thomas/projekte/cdrskin_dir/libisoburn-develop/missing --run autoconf,g
s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/thomas/projekte/cdrskin_dir/libisoburn-develop/missing --run automake-1.9,g
@@ -539,11 +539,11 @@
s,@am__untar@,|#_!!_#|${AMTAR} xf -,g
s,@ISOBURN_MAJOR_VERSION@,|#_!!_#|1,g
s,@ISOBURN_MINOR_VERSION@,|#_!!_#|1,g
-s,@ISOBURN_MICRO_VERSION@,|#_!!_#|1,g
+s,@ISOBURN_MICRO_VERSION@,|#_!!_#|3,g
s,@LT_RELEASE@,|#_!!_#|1.1,g
-s,@LT_CURRENT@,|#_!!_#|68,g
+s,@LT_CURRENT@,|#_!!_#|70,g
s,@LT_REVISION@,|#_!!_#|0,g
-s,@LT_AGE@,|#_!!_#|67,g
+s,@LT_AGE@,|#_!!_#|69,g
s,@LT_CURRENT_MINUS_AGE@,|#_!!_#|1,g
s,@MAINTAINER_MODE_TRUE@,|#_!!_#|#,g
s,@MAINTAINER_MODE_FALSE@,|#_!!_#|,g
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/configure
^
|
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for xorriso 1.1.2.
+# Generated by GNU Autoconf 2.60 for xorriso 1.1.4.
#
# Report bugs to <http://libburnia-project.org>.
#
@@ -713,8 +713,8 @@
# Identity of this package.
PACKAGE_NAME='xorriso'
PACKAGE_TARNAME='xorriso'
-PACKAGE_VERSION='1.1.2'
-PACKAGE_STRING='xorriso 1.1.2'
+PACKAGE_VERSION='1.1.4'
+PACKAGE_STRING='xorriso 1.1.4'
PACKAGE_BUGREPORT='http://libburnia-project.org'
ac_default_prefix=/usr/local
@@ -1397,7 +1397,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xorriso 1.1.2 to adapt to many kinds of systems.
+\`configure' configures xorriso 1.1.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1468,7 +1468,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xorriso 1.1.2:";;
+ short | recursive ) echo "Configuration of xorriso 1.1.4:";;
esac
cat <<\_ACEOF
@@ -1591,7 +1591,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xorriso configure 1.1.2
+xorriso configure 1.1.4
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1605,7 +1605,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xorriso $as_me 1.1.2, which was
+It was created by xorriso $as_me 1.1.4, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -2415,7 +2415,7 @@
# Define the identity of the package.
PACKAGE='xorriso'
- VERSION='1.1.2'
+ VERSION='1.1.4'
cat >>confdefs.h <<_ACEOF
@@ -2583,14 +2583,14 @@
BURN_MAJOR_VERSION=1
BURN_MINOR_VERSION=1
-BURN_MICRO_VERSION=1
+BURN_MICRO_VERSION=4
LIBISOFS_MAJOR_VERSION=1
LIBISOFS_MINOR_VERSION=1
-LIBISOFS_MICRO_VERSION=2
+LIBISOFS_MICRO_VERSION=4
@@ -25568,7 +25568,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xorriso $as_me 1.1.2, which was
+This file was extended by xorriso $as_me 1.1.4, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -25621,7 +25621,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-xorriso config.status 1.1.2
+xorriso config.status 1.1.4
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/configure.ac
^
|
@@ -3,7 +3,7 @@
# Copyright (c) 2007 - 2011 Thomas Schmitt <scdbackup@gmx.net>
# Provided under GPL version 2 or later.
-AC_INIT([xorriso], [1.1.2], [http://libburnia-project.org])
+AC_INIT([xorriso], [1.1.4], [http://libburnia-project.org])
AC_PREREQ([2.50])
AC_CANONICAL_HOST
@@ -23,14 +23,14 @@
BURN_MAJOR_VERSION=1
BURN_MINOR_VERSION=1
-BURN_MICRO_VERSION=1
+BURN_MICRO_VERSION=4
AC_SUBST(BURN_MAJOR_VERSION)
AC_SUBST(BURN_MINOR_VERSION)
AC_SUBST(BURN_MICRO_VERSION)
LIBISOFS_MAJOR_VERSION=1
LIBISOFS_MINOR_VERSION=1
-LIBISOFS_MICRO_VERSION=2
+LIBISOFS_MICRO_VERSION=4
AC_SUBST(LIBISOFS_MAJOR_VERSION)
AC_SUBST(LIBISOFS_MINOR_VERSION)
AC_SUBST(LIBISOFS_MICRO_VERSION)
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/async.c
^
|
@@ -1,7 +1,7 @@
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
- Copyright (c) 2006 - 2010 Thomas Schmitt <scdbackup@gmx.net>
+ Copyright (c) 2006 - 2011 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
@@ -183,11 +183,6 @@
{
struct w_list *a, *l = NULL;
-#ifdef Libburn_detach_done_workeR
- int ret;
- char msg[80];
-#endif
-
for (a = workers; a; l = a, a = a->next)
if (a->thread == th) {
if (l)
@@ -200,8 +195,12 @@
/* Alternative : threads get detached and thus should
dispose themselves.
*/
- ret = pthread_detach(th);
+ pthread_detach(th);
/*
+ int ret;
+ char msg[80];
+
+ ret = pthread_detach(th);
sprintf(msg,
"remove_workers(): pid= %lu pthread_detach(%lu)= %d",
(unsigned long) getpid(), (unsigned long) th, ret);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/cleanup.c
^
|
@@ -1,5 +1,5 @@
/*
- cleanup.c , Copyright 2006 Thomas Schmitt <scdbackup@gmx.net>
+ cleanup.c , Copyright 2006 - 2011 Thomas Schmitt <scdbackup@gmx.net>
A signal handler which cleans up an application and exits.
@@ -205,9 +205,10 @@
Cleanup_set_handlers(&demoapp,(Cleanup_app_handler_T) Demo_app_handler,0);
if(1) { /* change to 0 in order to wait for external signals */
- char *cpt= NULL,c;
+ char *cpt= NULL, c= ' ';
printf("Intentionally provoking SIGSEGV ...\n");
c= *cpt;
+ printf("Strange: The system ignored a SIGSEGV: c= %u\n", (unsigned int) c);
} else {
printf("killme: %d\n",getpid());
sleep(3600);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/drive.c
^
|
@@ -15,6 +15,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
+#include <dirent.h>
/* ts A61007 */
/* #include <a ssert.h> */
@@ -310,12 +311,41 @@
if (d->current_profile == -1 || d->current_is_cd_profile)
d->read_toc(d);
- /* ts A70314 */
- d->status = BURN_DISC_UNSUITABLE;
+ /* ts A70314 , B10712 */
+ if (d->status != BURN_DISC_EMPTY)
+ d->status = BURN_DISC_UNSUITABLE;
}
return 1;
}
+/* ts B10730 */
+/* Send a default mode page 05 to CD and DVD-R-oids */
+int burn_drive_send_default_page_05(struct burn_drive *d, int flag)
+{
+ struct burn_write_opts *opts;
+
+ if (d->sent_default_page_05)
+ return 0;
+ if (!((d->status == BURN_DISC_APPENDABLE ||
+ d->status == BURN_DISC_BLANK) &&
+ (d->current_is_cd_profile || d->current_profile == 0x11 ||
+ d->current_profile == 0x14 || d->current_profile == 0x15)))
+ return 0;
+ opts = burn_write_opts_new(d);
+ if (opts == NULL)
+ return -1;
+ if (d->status == BURN_DISC_APPENDABLE)
+ burn_write_opts_set_write_type(opts,
+ BURN_WRITE_TAO, BURN_BLOCK_MODE1);
+ else
+ burn_write_opts_set_write_type(opts,
+ BURN_WRITE_SAO, BURN_BLOCK_SAO);
+ d->send_write_parameters(d, opts);
+ burn_write_opts_free(opts);
+ d->sent_default_page_05 = 1;
+ return 1;
+}
+
int burn_drive_grab(struct burn_drive *d, int le)
{
@@ -379,6 +409,8 @@
d->silent_on_scsi_error = 1;
/* ts A61125 : outsourced media state inquiry aspects */
ret = burn_drive_inquire_media(d);
+
+ burn_drive_send_default_page_05(d, 0);
d->silent_on_scsi_error = sose;
d->busy = BURN_DRIVE_IDLE;
return ret;
@@ -1201,7 +1233,9 @@
void burn_drive_info_free(struct burn_drive_info drive_infos[])
{
+#ifndef Libburn_free_all_drives_on_infO
int i;
+#endif
/* ts A60904 : ticket 62, contribution by elmom */
/* clarifying the meaning and the identity of the victim */
@@ -2042,6 +2076,7 @@
return 0;
}
+/* API */
/** Try to convert a given existing filesystem address into a persistent drive
address. */
int burn_drive_convert_fs_adr(char *path, char adr[])
@@ -2053,6 +2088,88 @@
}
+/* API */
+int burn_lookup_device_link(char *dev_adr, char link_adr[],
+ char *dir_adr, char **ranks, int rank_count, int flag)
+{
+ DIR *dirpt= NULL;
+ struct dirent *entry;
+ struct stat link_stbuf;
+ char *adr= NULL, *namept, *sys_adr= NULL;
+ int ret, name_rank, found_rank= 0x7fffffff, dirlen, i, rec_count = 0;
+ static char default_ranks_data[][8] =
+ {"dvdrw", "cdrw", "dvd", "cdrom", "cd"};
+ char *default_ranks[5];
+
+ link_adr[0] = 0;
+ if (ranks == NULL) {
+ for (i = 0; i < 5; i++)
+ default_ranks[i] = default_ranks_data[i];
+ ranks = default_ranks;
+ rank_count= 5;
+ }
+ dirlen= strlen(dir_adr) + 1;
+ if (strlen(dir_adr) + 1 >= BURN_DRIVE_ADR_LEN) {
+
+ /* >>> Issue warning about oversized directory address */;
+
+ {ret = 0; goto ex;}
+ }
+ BURN_ALLOC_MEM(adr, char, BURN_DRIVE_ADR_LEN);
+ BURN_ALLOC_MEM(sys_adr, char, BURN_DRIVE_ADR_LEN);
+
+ dirpt = opendir(dir_adr);
+ if (dirpt == NULL)
+ {ret = 0; goto ex;}
+ strcpy(adr, dir_adr);
+ strcat(adr, "/");
+ namept = adr + strlen(dir_adr) + 1;
+ while(1) {
+ entry = readdir(dirpt);
+ if(entry == NULL)
+ break;
+ if (strlen(entry->d_name) + dirlen >= BURN_DRIVE_ADR_LEN)
+ continue;
+ strcpy(namept, entry->d_name);
+ if(lstat(adr, &link_stbuf) == -1)
+ continue;
+ if((link_stbuf.st_mode & S_IFMT) != S_IFLNK)
+ continue;
+ /* Determine rank and omit uninteresting ones */
+ for(name_rank= 0; name_rank < rank_count; name_rank++)
+ if(strncmp(namept, ranks[name_rank],
+ strlen(ranks[name_rank])) == 0)
+ break;
+ /* we look for lowest rank */
+ if(name_rank >= rank_count ||
+ name_rank > found_rank ||
+ (name_rank == found_rank &&
+ strcmp(namept, link_adr + dirlen) >= 0))
+ continue;
+
+ /* Does name point to the same device as dev_adr ? */
+ ret= burn_drive_resolve_link(adr, sys_adr, &rec_count, 2);
+ if(ret < 0)
+ goto ex;
+ if(ret == 0)
+ continue;
+ if(strcmp(dev_adr, sys_adr) == 0) {
+ strcpy(link_adr, adr);
+ found_rank= name_rank;
+ }
+ }
+ ret= 2;
+ if(found_rank < 0x7fffffff)
+ ret= 1;
+ex:;
+ if(dirpt != NULL)
+ closedir(dirpt);
+ BURN_FREE_MEM(adr);
+ BURN_FREE_MEM(sys_adr);
+ return(ret);
+}
+
+
/** A pacifier function suitable for burn_abort.
@param handle If not NULL, a pointer to a text suitable for printf("%s")
*/
@@ -3109,6 +3226,23 @@
}
+/* ts B10801 : API */
+int burn_disc_get_phys_format_info(struct burn_drive *d, int *disk_category,
+ char **book_name, int *part_version, int *num_layers,
+ int *num_blocks, int flag)
+{
+ int ret;
+
+ if (burn_drive_get_drive_role(d) != 1)
+ return 0;
+ *disk_category = *part_version = *num_layers = *num_blocks = 0;
+ ret = mmc_get_phys_format_info(d, disk_category, book_name,
+ part_version, num_layers, num_blocks, 0);
+ return ret;
+}
+
+
+
/* ts B10525 : API */
int burn_disc_next_track_is_damaged(struct burn_drive *d, int flag)
{
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/drive.h
^
|
@@ -151,4 +151,8 @@
int (*pacifier_func)(void *handle, int patience, int elapsed),
void *handle, int elapsed, int flag);
+/* ts B10730 */
+/* Send a default mode page 05 to CD and DVD-R-oids */
+int burn_drive_send_default_page_05(struct burn_drive *d, int flag);
+
#endif /* __DRIVE */
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/libburn.h
^
|
@@ -1059,6 +1059,39 @@
int burn_drive_convert_scsi_adr(int bus_no, int host_no, int channel_no,
int target_no, int lun_no, char adr[]);
+/* ts B10728 */
+/** Try to convert a given persistent drive address into the address of a
+ symbolic link that points to this drive address.
+ Modern GNU/Linux systems may shuffle drive addresses from boot to boot.
+ The udev daemon is supposed to create links which always point to the
+ same drive, regardless of its system address.
+ This call tries to find such links.
+ @param dev_adr Should contain a drive address as returned by
+ burn_drive_scan().
+ @param link_adr An application provided array of at least
+ BURN_DRIVE_ADR_LEN characters size. The found link
+ address gets copied to it.
+ @param dir_adr The address of the directory where to look for links.
+ Normally: "/dev"
+ @param templ An array of pointers to name templates, which
+ links have to match. A symbolic link in dir_adr matches
+ a name template if it begins by that text. E.g.
+ link address "/dev/dvdrw1" matches template "dvdrw".
+ If templ is NULL, then the default array gets used:
+ {"dvdrw", "cdrw", "dvd", "cdrom", "cd"}
+ If several links would match, then a link will win,
+ which matches the template with the lowest array index.
+ Among these candidates, the one with the lowest strcmp()
+ rank will be chosen as link_adr.
+ @param num_templ Number of array elements in templ.
+ @param flag Bitfield for control purposes. Unused yet. Submit 0.
+ @return <0 severe error, 0 failed to search, 2 nothing found
+ 1 success, link_adr is valid
+ @since 1.1.4
+*/
+int burn_lookup_device_link(char *dev_adr, char link_adr[],
+ char *dir_adr, char **templ, int num_templ, int flag);
+
/* ts A60923 - A61005 */
/** Try to obtain bus,host,channel,target,lun from path. If there is an SCSI
address at all, then this call should succeed with a persistent
@@ -1261,6 +1294,27 @@
int burn_disc_get_bd_spare_info(struct burn_drive *d,
int *alloc_blocks, int *free_blocks, int flag);
+/* ts B10801 */
+/** Retrieve some media information which is mainly specific to media of
+ the DVD-R family: DVD-R , DVD-RW , DVD-R DL , HD DVD-R
+ Currently the information cannot be retrieved from other media types.
+ @param d The drive to query.
+ @param disk_category returns DVD Book to which the media complies
+ @param book_name returns a pointer to the book name of disk_category.
+ This memory is static. Do not alter or free it !
+ @param part_version returns the Media Version in the DVD Book
+ @param num_layers returns the number of media layers
+ @param num_blocks returns the number of blocks between pysical start
+ and physical end of the media
+ @param flag Bitfield for control purposes (unused yet, submit 0)
+ @return 1 = reply prarameters are valid,
+ <=0 = reply is invalid (e.g. because no DVD-R)
+ @since 1.1.4
+*/
+int burn_disc_get_phys_format_info(struct burn_drive *d, int *disk_category,
+ char **book_name, int *part_version, int *num_layers,
+ int *num_blocks, int flag);
+
/* ts A61110 */
/** Read start lba and Next Writeable Address of a track from media.
Usually a track lba is obtained from the result of burn_track_get_entry().
@@ -2737,7 +2791,7 @@
*/
#define burn_header_version_major 1
#define burn_header_version_minor 1
-#define burn_header_version_micro 1
+#define burn_header_version_micro 4
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/mmc.c
^
|
@@ -444,6 +444,11 @@
*nwa = mmc_four_char_to_int(data + 12);
num = mmc_four_char_to_int(data + 16);
+ /* Pioneer BD-RW BDR-205 and LITE-ON LTR-48125S return -150 as *nwa
+ of blank media */
+ if (*nwa < *lba && d->status == BURN_DISC_BLANK)
+ *nwa = *lba;
+
#ifdef Libburn_pioneer_dvr_216d_load_mode5
/* >>> memorize track mode : data[6] & 0xf */;
#endif
@@ -1759,6 +1764,8 @@
d->erasable = 0;
d->last_track_no = 1;
+ /* ts B10730 */
+ d->sent_default_page_05 = 0;
/* ts A70212 - A70215 */
d->media_capacity_remaining = 0;
d->media_lba_limit = 0;
@@ -4487,6 +4494,55 @@
}
+/* ts B10801
+ MMC-5, 6.23.3.2.1 Format Code 00h: Physical Format Information
+ 6.23.3.2.16 Format Code 10h: Format Information of
+ Control Data Zone in the Lead-in
+ disk_category
+*/
+int mmc_get_phys_format_info(struct burn_drive *d, int *disk_category,
+ char **book_name, int *part_version, int *num_layers,
+ int *num_blocks, int flag)
+{
+ int ret, reply_len, prf;
+ char *reply = NULL;
+ static char book_names[][16] = {
+ "DVD-ROM", "DVD-RAM", "DVD-R", "DVD-RW",
+ "HD DVD-ROM", "HD DVD-RAM", "HD DVD-R", "unknown",
+ "unknown", "DVD+RW", "DVD+R", "unknown", "unknown",
+ "unknown", "DVD+RW DL", "DVD+R DL", "unknown"
+ };
+
+ prf = d->current_profile;
+ if (!(prf == 0x11 || prf == 0x13 || prf == 0x14 || prf == 0x15 ||
+ prf == 0x51))
+ return 0; /* Not a [HD] DVD-R[W] loaded */
+ ret = mmc_read_disc_structure(d, 0, 0, 0x10, 12, &reply,
+ &reply_len, 0);
+ if (ret <= 0)
+ goto ex;
+ if(reply_len < 12) {
+ libdax_msgs_submit(libdax_messenger, -1, 0x00000002,
+ LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_ZERO,
+ "READ DISC STRUCTURE format 10h: Less than 12 bytes",
+ 0, 0);
+ {ret = 0; goto ex;}
+ }
+ *disk_category = (reply[0] >> 4) & 0xf;
+ *book_name = book_names[*disk_category];
+ *part_version = reply[0] & 0xf;
+ *num_layers = ((reply[2] >> 5) & 0x3) + 1;
+ *num_blocks = ((reply[9] << 16) | (reply[10] << 8) | reply[11]) -
+ ((reply[5] << 16) | (reply[6] << 8) | reply[7]) + 1;
+ ret = 1;
+ex:;
+ if (reply != NULL)
+ free(reply);
+ return ret;
+}
+
+
+
/* ts A61021 : the mmc specific part of sg.c:enumerate_common()
*/
int mmc_setup_drive(struct burn_drive *d)
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/mmc.h
^
|
@@ -110,4 +110,9 @@
int mmc_get_bd_spare_info(struct burn_drive *d,
int *alloc_blocks, int *free_blocks, int flag);
+/* ts B10801 */
+int mmc_get_phys_format_info(struct burn_drive *d, int *disk_category,
+ char **book_name, int *part_version, int *num_layers,
+ int *num_blocks, int flag);
+
#endif /*__MMC*/
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/read.c
^
|
@@ -205,9 +205,11 @@
const struct burn_read_opts *o)
{
unsigned char sub[96];
- unsigned short crc;
int ptr = 2352, i, j, code, fb;
int audio = 1;
+#ifndef Libburn_no_crc_C
+ unsigned short crc;
+#endif
if (o->c2errors) {
fb = bitcount(data + ptr, 294);
@@ -253,9 +255,9 @@
}
}
}
- crc = (*(sub + 22) << 8) + *(sub + 23);
#ifndef Libburn_no_crc_C
+ crc = (*(sub + 22) << 8) + *(sub + 23);
if (crc != crc_ccitt(sub + 12, 10)) {
burn_print(1, "sending error on %s %s\n",
d->idata->vendor, d->idata->product);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/sg-dummy.c
^
|
@@ -1,7 +1,7 @@
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
/*
- Copyright (c) 2009 - 2010 Thomas Schmitt <scdbackup@gmx.net>
+ Copyright (c) 2009 - 2011 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
@@ -253,14 +253,12 @@
#endif
char *testpath = NULL, *cpt;
- long blocks;
off_t add_size = 0;
int ret;
BURN_ALLOC_MEM(testpath, char, 4096);
testpath[0] = 0;
- blocks = *bytes / 512;
if (stat(path, &stbuf) == -1) {
strcpy(testpath, path);
cpt = strrchr(testpath, '/');
@@ -276,6 +274,9 @@
#ifdef Libburn_if_this_was_linuX
} else if(S_ISBLK(stbuf.st_mode)) {
+ long blocks;
+
+ blocks = *bytes / 512;
fd = open(path, open_mode);
if (fd == -1)
{ret = -2; goto ex;}
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/sg-freebsd-port.c
^
|
@@ -1,11 +1,14 @@
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
/*
- Copyright (c) 2006 - 2010 Thomas Schmitt <scdbackup@gmx.net>
+ Copyright (c) 2006 - 2011 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
+ /* THIS CODE IS NOT FUNCTIONAL YET !!! */
+
+
/*
This is the main operating system dependent SCSI part of libburn. It implements
@@ -721,13 +724,11 @@
struct stat stbuf;
struct statvfs vfsbuf;
char *testpath = NULL, *cpt;
- long blocks;
off_t add_size = 0;
int fd, ret;
BURN_ALLOC_MEM(testpath, char, 4096);
testpath[0] = 0;
- blocks = *bytes / 512;
if (stat(path, &stbuf) == -1) {
strcpy(testpath, path);
cpt = strrchr(testpath, '/');
@@ -744,7 +745,9 @@
} else if(S_ISBLK(stbuf.st_mode)) {
int open_mode = O_RDWR, fd, ret;
+ long blocks;
+ blocks = *bytes / 512;
if(burn_sg_open_o_excl)
open_mode |= O_EXCL;
fd = open(path, open_mode);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/sg-freebsd.c
^
|
@@ -2,7 +2,8 @@
/*
Copyright (c) 2006 - 2011 Thomas Schmitt <scdbackup@gmx.net>
- Provided under GPL version 2 or later.
+ Provided under GPL version 2 or later
+ and under FreeBSD license revised, i.e. without advertising clause.
*/
#ifdef HAVE_CONFIG_H
@@ -764,7 +765,7 @@
int sg_issue_command(struct burn_drive *d, struct command *c)
{
- int done = 0, err, sense_len = 0, ret, ignore_error, no_retry = 0, i;
+ int done = 0, err, sense_len = 0, ret, ignore_error, i;
int cam_pass_err_recover = 0, key, asc, ascq, timeout_ms;
union ccb *ccb;
static FILE *fp = NULL;
@@ -957,7 +958,7 @@
c->sense[2] = 0x02;
c->sense[12] = 0x04;
c->sense[13] = 0x00;
- no_retry = 1;
+ done = 1;
}
/* >>> Need own duration time measurement.
@@ -985,12 +986,13 @@
int burn_os_is_2k_seekrw(char *path, int flag)
{
struct stat stbuf;
- char *spt;
- int i, e;
#ifdef Libburn_DIOCGMEDIASIZE_ISBLK
- int fd;
+ int fd, ret;
off_t add_size;
-#endif
+#else
+ char *spt;
+ int i, e;
+#endif /* ! Libburn_DIOCGMEDIASIZE_ISBLK */
if (stat(path, &stbuf) == -1)
return 0;
@@ -1010,7 +1012,7 @@
ret = ioctl(fd, DIOCGMEDIASIZE, &add_size);
close(fd);
- return 1;
+ return (ret != -1);
#else /* Libburn_DIOCGMEDIASIZE_ISBLK */
@@ -1057,13 +1059,11 @@
struct stat stbuf;
struct statvfs vfsbuf;
char *testpath = NULL, *cpt;
- long blocks;
off_t add_size = 0;
int fd, ret;
BURN_ALLOC_MEM(testpath, char, 4096);
testpath[0] = 0;
- blocks = *bytes / 512;
if (stat(path, &stbuf) == -1) {
strcpy(testpath, path);
cpt = strrchr(testpath, '/');
@@ -1080,7 +1080,9 @@
} else if(S_ISBLK(stbuf.st_mode)) {
int open_mode = O_RDWR, fd, ret;
+ long blocks;
+ blocks = *bytes / 512;
if(burn_sg_open_o_excl)
open_mode |= O_EXCL;
fd = open(path, open_mode);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/sg-libcdio.c
^
|
@@ -614,7 +614,7 @@
*/
int sg_issue_command(struct burn_drive *d, struct command *c)
{
- int sense_valid = 0, i, timeout_ms, no_retry = 0;
+ int sense_valid = 0, i, timeout_ms;
int key = 0, asc = 0, ascq = 0, done = 0;
time_t start_time;
driver_return_code_t i_status;
@@ -701,7 +701,7 @@
c->sense[0] = 0x70; /*Fixed format sense data*/
c->sense[2] = 0x02;
c->sense[12] = 0x04;
- no_retry = 1;
+ done = 1;
}
}
if (i_status != 0 || (key || asc || ascq)) {
@@ -860,13 +860,11 @@
#endif
char *testpath = NULL, *cpt;
- long blocks;
off_t add_size = 0;
int ret;
BURN_ALLOC_MEM(testpath, char, 4096);
testpath[0] = 0;
- blocks = *bytes / 512;
if (stat(path, &stbuf) == -1) {
strcpy(testpath, path);
cpt = strrchr(testpath, '/');
@@ -884,7 +882,9 @@
/* GNU/Linux specific determination of block device size */
} else if(S_ISBLK(stbuf.st_mode)) {
int open_mode = O_RDONLY, fd, ret;
+ long blocks;
+ blocks = *bytes / 512;
fd = open(path, open_mode);
if (fd == -1)
{ret = -2; goto ex;}
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/sg-solaris.c
^
|
@@ -785,13 +785,11 @@
#endif
char *testpath = NULL, *cpt;
- long blocks;
off_t add_size = 0;
BURN_ALLOC_MEM(testpath, char, 4096);
testpath[0] = 0;
- blocks = *bytes / 512;
if (stat(path, &stbuf) == -1) {
strcpy(testpath, path);
cpt = strrchr(testpath, '/');
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/sg.c
^
|
@@ -23,12 +23,20 @@
#else
#ifdef __FreeBSD__
+#ifdef Libburn_use_sg_freebsd_porT
+#include "sg-freebsd-port.c"
+#else
#include "sg-freebsd.c"
+#endif
#else
#ifdef __FreeBSD_kernel__
+#ifdef Libburn_use_sg_freebsd_porT
+#include "sg-freebsd-port.c"
+#else
#include "sg-freebsd.c"
+#endif
#else
#ifdef __linux
@@ -50,11 +58,11 @@
static int intentional_compiler_warning(void)
{
int INTENTIONAL_COMPILER_WARNING_;
- int Cannot_recognize_GNU_Linux_nor_FreeBSD_;
+ int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_;
int Have_to_use_dummy_MMC_transport_adapter_;
int This_libburn_will_not_be_able_to_operate_on_real_CD_drives;
int Have_to_use_dummy_MMC_transport_adapter;
- int Cannot_recognize_GNU_Linux_nor_FreeBSD;
+ int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris;
int INTENTIONAL_COMPILER_WARNING;
return(0);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/spc.c
^
|
@@ -634,7 +634,7 @@
{
struct buffer *buf = NULL;
struct scsi_mode_data *m;
- int dummy, alloc_len = 10;
+ int dummy1, dummy2, alloc_len = 10;
unsigned char *page;
struct command *c = NULL;
@@ -678,7 +678,8 @@
d->read_format_capacities(d, -1);
else if (d->status == BURN_DISC_BLANK ||
(d->current_is_cd_profile && d->status == BURN_DISC_APPENDABLE)) {
- d->get_nwa(d, -1, &dummy, &dummy);
+ burn_drive_send_default_page_05(d, 0);
+ d->get_nwa(d, -1, &dummy1, &dummy2);
}
/* others are hopefully up to date from mmc_read_disc_info() */
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libburn/transport.h
^
|
@@ -279,6 +279,10 @@
/* ts A70129 :
from 51h READ DISC INFORMATION Last Track Number in Last Session */
int last_track_no;
+
+ /* ts B10730 : whether a default mode page 05 was already sent.
+ */
+ int sent_default_page_05;
/* ts A70212 : from various sources : free space on media (in bytes)
With CD this might change after particular write
parameters have been set and nwa has been inquired.
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisoburn/burn_wrap.c
^
|
@@ -344,7 +344,7 @@
static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
int flag)
{
- int ret, lba, nwa, profile, readonly= 0, role, random_access;
+ int ret, profile, readonly= 0, role, random_access;
int emulation_started= 0;
struct burn_multi_caps *caps= NULL;
struct isoburn_toc_entry *t;
@@ -356,6 +356,10 @@
char msg[80];
enum burn_disc_status s;
+#ifndef Hardcoded_cd_rW
+ int lba, nwa;
+#endif
+
s= burn_disc_get_status(d);
profile_name[0]= 0;
ret= burn_disc_get_profile(d, &profile, profile_name);
@@ -417,7 +421,13 @@
/* >>> recognize unsuitable media (but allow read-only media) */;
if(readonly && s != BURN_DISC_EMPTY) {
+
+ /* >>> ts B10712: This maps BURN_DISC_UNSUITABLE to BURN_DISC_FULL
+ which can hardly be correct in general.
+ ??? What reason does this have ?
+ */
(*o)->fabricated_disc_status= BURN_DISC_FULL;
+
/* This might be overwriteable media in a -ROM drive.
Pitfall:
Multi-session media which bear a xorriso image for overwriteables
@@ -774,6 +784,7 @@
{
int ret;
struct isoburn *o;
+ enum burn_disc_status s;
#ifdef Hardcoded_cd_rW
/* <<< A70929 : hardcoded CD-RW with fabricated -msinfo */
@@ -793,6 +804,10 @@
}
if(burn_drive_get_drive_role(d) != 1)
return(1);
+
+ s= isoburn_disc_get_status(d);
+ if(s == BURN_DISC_BLANK) /* We do not believe in anything but nwa = lba = 0 */
+ return(1);
return(burn_disc_track_lba_nwa(d, opts, trackno, lba, nwa));
}
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisoburn/isofs_wrap.c
^
|
@@ -564,7 +564,9 @@
isoburn_set_start_byte(o, size, 0);
if(!(flag & 1))
o->fabricated_disc_status= BURN_DISC_APPENDABLE;
- } else if (!strncmp((char*)pvm->std_identifier, "CDXX1", 5)) {
+ } else if (strncmp((char*)pvm->std_identifier, "CDXX1", 5) == 0 ||
+ (strncmp((char*)pvm->std_identifier, "CDxx1", 5) == 0 &&
+ pvm->vol_desc_type[0] == 'x')) {
/* empty image */
isoburn_set_start_byte(o, o->zero_nwa * 2048, 0);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisoburn/libisoburn.h
^
|
@@ -242,7 +242,7 @@
*/
#define isoburn_libisofs_req_major 1
#define isoburn_libisofs_req_minor 1
-#define isoburn_libisofs_req_micro 2
+#define isoburn_libisofs_req_micro 4
/** The minimum version of libburn to be used with this version of libisoburn
at compile time.
@@ -250,7 +250,7 @@
*/
#define isoburn_libburn_req_major 1
#define isoburn_libburn_req_minor 1
-#define isoburn_libburn_req_micro 0
+#define isoburn_libburn_req_micro 4
/** The minimum compile time requirements of libisoburn towards libjte are
the same as of a suitable libisofs towards libjte.
@@ -305,7 +305,7 @@
*/
#define isoburn_header_version_major 1
#define isoburn_header_version_minor 1
-#define isoburn_header_version_micro 2
+#define isoburn_header_version_micro 4
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisofs/aaip-os-dummy.c
^
|
@@ -89,8 +89,12 @@
continue;
}
/* Extended Attribute */
- if(!(flag & 4))
- return(-6);
+ if(flag & 4)
+ continue;
+ if(!(flag & 8))
+ if(strncmp(names[i], "user.", 5))
+ continue;
+ return(-6);
}
if(flag & 2)
return(-6);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisofs/aaip-os-linux.c
^
|
@@ -447,10 +447,26 @@
continue;
}
/* Extended Attribute */
+
+#ifdef Libisofs_aaip_linux_set_attr_list_neW
+/* >>> Enable this after release 1.1.4. */
+
+ if(flag & 4)
+ continue;
+ if(!(flag & 8))
+ if(strncmp(names[i], "user.", 5))
+ continue;
+
+#else /* Libisofs_aaip_linux_set_attr_list_neW */
+/* <<< This worked well, but obviously only because bit0 is always set */
+
if((flag & 1) && !(flag & 8))
if(strncmp(names[i], "user.", 5))
continue;
+#endif /* ! Libisofs_aaip_linux_set_attr_list_neW */
+
+
#ifdef Libisofs_with_aaip_xattR
if(flag & 32)
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisofs/ecma119.c
^
|
@@ -363,7 +363,7 @@
struct ecma119_dir_record *rec = (struct ecma119_dir_record*)buf;
IsoNode *iso;
- len_dr = 33 + len_fi + (len_fi % 2 ? 0 : 1);
+ len_dr = 33 + len_fi + ((len_fi % 2) ? 0 : 1);
memcpy(rec->file_id, name, len_fi);
@@ -629,7 +629,7 @@
for (section = 0; section < nsections; ++section) {
/* compute len of directory entry */
- len = fi_len + 33 + (fi_len % 2 ? 0 : 1);
+ len = fi_len + 33 + ((fi_len % 2) ? 0 : 1);
if (need_version_number(t, child)) {
len += 2;
}
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisofs/fs_local.c
^
|
@@ -862,6 +862,8 @@
return ISO_OUT_OF_MEM;
if (ret == -2)
return ISO_AAIP_BAD_AASTRING;
+ if (ret == -6 || ret == -7)
+ return ISO_AAIP_NOT_ENABLED;
return ISO_AAIP_NO_SET_LOCAL;
}
return 1;
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisofs/iso1999.c
^
|
@@ -689,7 +689,7 @@
struct ecma119_dir_record *rec = (struct ecma119_dir_record*)buf;
- len_dr = 33 + len_fi + (len_fi % 2 ? 0 : 1);
+ len_dr = 33 + len_fi + ((len_fi % 2) ? 0 : 1);
memcpy(rec->file_id, name, len_fi);
@@ -837,7 +837,7 @@
/* compute len of directory entry */
fi_len = strlen(child->name);
- len = fi_len + 33 + (fi_len % 2 ? 0 : 1);
+ len = fi_len + 33 + ((fi_len % 2) ? 0 : 1);
nsections = (child->type == ISO1999_FILE) ? child->info.file->nsections : 1;
for (section = 0; section < nsections; ++section) {
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisofs/joliet.c
^
|
@@ -759,7 +759,7 @@
struct ecma119_dir_record *rec = (struct ecma119_dir_record*)buf;
- len_dr = 33 + len_fi + (len_fi % 2 ? 0 : 1);
+ len_dr = 33 + len_fi + ((len_fi % 2) ? 0 : 1);
memcpy(rec->file_id, name, len_fi);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libisofs/libisofs.h
^
|
@@ -1228,7 +1228,7 @@
*/
#define iso_lib_header_version_major 1
#define iso_lib_header_version_minor 1
-#define iso_lib_header_version_micro 2
+#define iso_lib_header_version_micro 4
/**
* Usage discussion:
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/libtool
^
|
@@ -1,7 +1,7 @@
#! /bin/sh
# libtoolT - Provide generalized library-building support services.
-# Generated automatically by (GNU libisoburn 1.1.1)
+# Generated automatically by (GNU libisoburn 1.1.3)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/aux_objects.c
^
|
@@ -308,7 +308,7 @@
m->buffer_rpt= 0;
m->next= NULL;
if(Sfile_str(m->adr, adr, 0)<=0)
- {ret= 0; goto failed;}
+ {ret= -1; goto failed;}
m->buffer= TSOB_FELD(char *,Dirseq_buffer_sizE);
if(m->buffer==NULL)
{ret= -1; goto failed;}
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/changelog.txt
^
|
@@ -11185,7 +11185,7 @@
xorriso/xorrisofs.info
Version leap to libisoburn-1.1.2
- []
+8 Jul 2011 [4095]
ChangeLog
xorriso/changelog.txt
Documented changes and release timestamp
@@ -11197,7 +11197,7 @@
* Bug fix: Since 1.0.6: Unreadable image produced by: xorrisofs ... >image.iso
- []
+2011.07.08.131032 [4099] [4100]
configure.ac
README
libisoburn/libisoburn.h
@@ -11217,22 +11217,334 @@
xorriso/xorrisofs.info
Version leap to libisoburn-1.1.3
- []
+8 Jul 2011 [4101]
ChangeLog
xorriso/changelog.txt
Documented changes and release timestamp
- []
+8 Jul 2011 [4102]
svn move -m Promoted branch to tag
http://svn.libburnia-project.org/libisoburn/branches/1.1.2
http://svn.libburnia-project.org/libisoburn/tags/1.1.2
------------------------------------- cycle - xorriso-1.1.3 -
+------------------------------------ cycle - xorriso-1.1.3 - 2011.07.08.131032
+
+
+2011.07.10.112539 [4126]
+libisoburn/isofs_wrap.c
+Recognizing overwritable media, blanked by cdrskin --grow_overwriteable_iso
+
+2011.07.11.175609 [4134]
+xorriso/drive_mgt.c
+Reacted on warnings of cppcheck
+
+2011.07.12.092010 [4137]
+xorriso/drive_mgt.c
+Improved output of -list_speeds with CD drives. Empty list now cause SORRY.
+
+2011.07.12.135452 [4146]
+xorriso/drive_mgt.c
+xorriso/xorriso.texi
+xorriso/xorriso.1
+xorriso/xorriso.info
+Improved output of -list_speeds with ROM media and ROM drives.
+
+13 Jul 2011 [4158] [4159] [4160]
++ releng/manual_devices_ts
+Proposal for test ./manual_devices
+
+14 Jul 2011 [4161] [4162]
+releng/manual_devices_ts
++ releng/inc/releng_getopts_ts.inc
+Proposal for test ./manual_devices and inc/releng_getopts_ts.inc
+
+14 Jul 2011 [4163]
+releng/manual_devices_ts
+releng/inc/releng_getopts_ts.inc
+Prepared test proposal for option -f and for incomplete option -x
+
+14 Jul 2011 [4165]
+releng/manual_devices_ts
+Issueing failure message and non-zero exit value if manual_devices_ts fails
+
+14 Jul 2011 [4166]
+releng/inc/releng_getopts_ts.inc
+Corrected a misunderstanding about meaning of code piece
+
+2011.07.15.083052 [4171]
+libisoburn/burn_wrap.c
+Reacted on warnings of cppcheck about libisoburn/burn_wrap.c
+
+15 Jul 2011 [4172]
+releng/manual_devices
+Removed remnant reference to releng_getopts_ts.inc
+
+15 Jul 2011 [4173]
+releng/inc/releng_getopts.inc
+Removed usage of getopts in releng_getopts.inc
+
+15 Jul 2011 [4174]
+releng/inc/releng_getopts.inc
+Removed obsolete input checks from releng_getopts.inc
+
+15 Jul 2011 [4175]
+releng/inc/releng_getopts.inc
+releng/manual_devices
+New function check_for_xorriso in releng_getopts.inc
+
+15 Jul 2011 [4176]
+releng/inc/releng_getopts.inc
+Removed call to print_specific_help from releng_getopts.inc
+
+15 Jul 2011 [4177]
+releng/inc/releng_getopts.inc
+Changed general option -k -c -f in releng_getopts.inc
+
+17 Jul 2011 [4185]
+releng/run_all_releng
+Issueing pacifier messages in run_all_releng about logged line
+
+17 Jul 2011 [4186]
+releng/run_all_releng
+Making run_all_releng recognize exit values again (fixing rev 4185)
+
+17 Jul 2011 [4187]
+releng_printsize
+Issueing pacifier messages during tree generation of releng_printsize
+
+17 Jul 2011 [4186]
+releng/run_all_releng
+Using a more elegant way to obtain pipe component exit value
+
+17 Jul 2011 [4192]
+releng/run_all_releng
+Switched error message away from stderr, only pacifier remains on stderr
+
+17 Jul 2011 [4194]
+releng/run_all_releng
+Added my copyright to run_all_releng
+
+23 Jul 2011 [4208] [4209]
+svn mv releng/README releng/README.old
+releng/README
+Began to sketch an releng/README file
+
+2011.07.24.193433 [4213]
+xorriso/drive_mgt.c
+Improved media summary with overwritable media and unknown content
+
+2011.07.24.203919 [4214]
+xorriso/drive_mgt.c
+Improved -check_media with overwritable media and unknown content
+
+2011.07.25.095843 [4215]
+xorriso/check_media.h
+xorriso/check_media.c
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+New -check_media option what=image
+
+2011.07.25.103809 [4216]
+xorriso/drive_mgt.c
+Issueing a warning messages if BD-R with more than 299 sessions is loaded
+
+27 Jul 2011 [4217]
+releng/auto_printsize
+Reduced runtime of auto_printsize and balanced xorriso versus genisoimage
+
+2011.07.27.211423 [4218]
+xorriso/xorriso.h
+xorriso/parse_exec.c
+xorriso/opts_d_h.c
+xorriso/opts_i_o.c
+xorriso/drive_mgt.c
+xorriso/aux_objects.c
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+New option -device_links
+
+27 Jul 2011 [4219]
+releng/manual_devices
+Switched releng/manual_devices from -devices to -device_links
+
+2011.07.28.111814 [4220]
+xorriso/drive_mgt.c
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+Prefering dvd over cd with -device_links
+
+28 Jul 2011 [4221]
+xorriso/xorriso_eng.html
+ChangeLog
+Updated change log and web page
+------------------------------------ cycle - xorriso-1.1.3 - 2011.07.28.111814
+* New option -device_links
+
+
+2011.07.28.192110 [4224]
+configure.ac
+libisoburn/libisoburn.h
+Requiring libburn 1.1.1
+
+2011.07.28.195103 [4225]
+xorriso/drive_mgt.c
+Using libburn call burn_lookup_device_link()
+
+30 Jul 2011 [4226]
+xorriso/xorrisofs.texi
+xorriso/xorrisofs.info
+xorriso/xorrisofs.1
+Small correction in xorrisofs man page
+
+2011.07.31.091836 [4229]
+libisoburn/burn_wrap.c
+Bug fix: xorriso native mode on some drives wrote unreadble ISO images to CD
+
+2011.07.31.094422 [4230]
+xorriso/xorrisoburn.h
+xorriso/opts_a_c.c
+xorriso/opts_p_z.c
+Allowed lower case severity names with -abort_on, -return_with, -report_about
+
+2011.07.31.145832 [4231]
+xorriso/misc_funct.c
+Bug fix: -assert_volid did not work. Regression since version 1.1.0, rev 3767.
+
+2011.08.01.130400 [4233]
+xorriso/drive_mgt.c
+xorriso/misc_funct.c
+New report line "Media blocks :" with option -toc
+
+1 Aug 2011 [4234]
+xorriso/xorriso_eng.html
+ChangeLog
+Updated change log and web page
+
+------------------------------------ cycle - xorriso-1.1.3 - 2011.08.01.130400
+* Bug fix: xorriso native mode on some drives wrote unreadble ISO images to CD
+* Bug fix: -assert_volid did not work. Regression since version 1.1.0.
+
+
+2011.08.01.152915 [4236]
+xorriso/misc_funct.h
+Forgot to upload the header which defines Xorriso__to_upper
+
+1 Aug 2011 [4238]
+releng/auto_isocontent
+Checking -assert_volid in auto_isocontent
+
+3 Aug 2011 [4240]
+releng/README
+releng/template_new
+Added more text pieces to releng/README, updated template for new tests
+
+3 Aug 2011 [4241]
+releng/inc/releng_getopts.inc
+Added option -h to general helptext of releng
+
+4 Aug 2011 [4242]
+releng/template_new
+Further improvements to releng test template
+
+4 Aug 2011 [4243]
++ releng/manual_burn
+New test releng/manual_burn
+
+4 Aug 2011 [4244]
+releng/README
+releng/manual_burn
+Improvements about releng/manual_burn
+
+5 Aug 2011 [4245]
+releng/auto_cxx
+releng/auto_isocontent
+releng/manual_burn
+releng/manual_isojigdo
+Made existing tests comply to upcomming prescriptions for failure messages
+
+5 Aug 2011 [4246]
+releng/inc/releng_getopts.inc
+Made existing tests comply to upcomming prescriptions for failure messages
+
+7 Aug 2011 [4248]
+releng/README
+More work on releng/README
+
+07 Aug 2011 [4252]
+svn copy -m Branching for libisoburn release 1.1.4
+http://svn.libburnia-project.org/libisoburn/trunk
+http://svn.libburnia-project.org/libisoburn/branches/1.1.4
+
+2011.08.07.120001 [4253]
+configure.ac
+README
+libisoburn/libisoburn.h
+xorriso/README_gnu_xorriso
+xorriso/xorriso.h
+xorriso/xorrisoburn.h
+xorriso/xorriso_main.c
+xorriso/xorriso_eng.html
+xorriso/make_xorriso_standalone.sh
+xorriso/configure_ac.txt
+xorriso/xorriso_timestamp.h
+xorriso/xorriso.texi
+xorriso/xorriso.1
+xorriso/xorriso.info
+xorriso/xorrisofs.texi
+xorriso/xorrisofs.1
+xorriso/xorrisofs.info
+Version leap to libisoburn-1.1.4
+
+07 Aug 2011 [4254]
+ChangeLog
+xorriso/changelog.txt
+Documented changes and release timestamp
+
+2011.08.08.071649 [4256]
+xorriso/read_run.c
+Improved error reporting with problems when extracting xattr or ACL
+
+2011.08.08.070301 [4257]
+configure.ac
+README
+libisoburn/libisoburn.h
+xorriso/README_gnu_xorriso
+xorriso/configure_ac.txt
+xorriso/xorriso_eng.html
+xorriso/xorriso_timestamp.h
+Requiring libisofs-1.1.4 (because of ACL extraction problem in 1.1.2)
+
+08 Aug 2011 [4258]
+ChangeLog
+xorriso/changelog.txt
+Documented changes and release timestamp
+
+----------------------------------- release - xorriso-1.1.4 - 2011.08.08.070301
+* New option -device_links
+* Bug fix: xorriso native mode on some drives wrote unreadble ISO images to CD
+* Bug fix: -assert_volid did not work. Regression since version 1.1.0.
+* Bug fix: -acl or -xattr worked with -extract only on Linux and FreeBSD
+
+
+ []
+xorriso/read_run.c
+Improved error reporting with problems when extracting xattr or ACL
+(>>> schon kopiert)
+ []
+xorriso/xorriso_eng.html
+ChangeLog
+Updated change log and web page
+------------------------------------ cycle - xorriso-1.1.5 -
+
+ []
xorriso/xorriso_eng.html
ChangeLog
Updated change log and web page
------------------------------------- cycle - xorriso-1.1.3 -
+------------------------------------ cycle - xorriso-1.1.5 -
**********************************************************************
@@ -11244,20 +11556,15 @@
TODO
===============================================================================
-- cdrskin blank=fast on DVD+RW writes to PVD
- x C D x x 1
- xorrsio does not recognize this as blank.
-
-
-nullPointer:libisofs/libisofs/util.c:1582 - Possible null pointer dereference: src - otherwise it is redundant to check if src is null at line 1575 - error
+- -for_backup -extract :
+ - enable new code in libisofs/aaip-os-linux.c
+ Libisofs_aaip_linux_set_attr_list_neW
+ - FAILURE due to not enable ACL does not abort tree extraction
+ although -abort_on FAILURE is set
+ - in libisofs/aaip-os-freebsd.c : flag bit0 is not checked
-clarifyCalculation:libisofs/libisofs/ecma119.c:366 - Suspicious calculation. Please use parentheses to clarify the code. The code 'a%b?c:d' should be written as either '(a%b)?c:d' or 'a%(b?c:d)'. - style
-clarifyCalculation:libisofs/libisofs/ecma119.c:632 - Suspicious calculation. Please use parentheses to clarify the code. The code 'a%b?c:d' should be written as either '(a%b)?c:d' or 'a%(b?c:d)'. - style
+- update_home got stuck when interrupted during -update_r
-clarifyCalculation:libisofs/libisofs/iso1999.c:692 - Suspicious calculation. Please use parentheses to clarify the code. The code 'a%b?c:d' should be written as either '(a%b)?c:d' or 'a%(b?c:d)'. - style
-clarifyCalculation:libisofs/libisofs/iso1999.c:840 - Suspicious calculation. Please use parentheses to clarify the code. The code 'a%b?c:d' should be written as either '(a%b)?c:d' or 'a%(b?c:d)'. - style
-
-clarifyCalculation:libisofs/libisofs/joliet.c:762 - Suspicious calculation. Please use parentheses to clarify the code. The code 'a%b?c:d' should be written as either '(a%b)?c:d' or 'a%(b?c:d)'. - style
-------------------------------------------------------------------------
@@ -11362,9 +11669,6 @@
------------------------------------------------- bugs
-- An ISO image as first file of a stdout stream might start at LBA 32
- and thus look like a session. It has not the proper offset, though.
-
- xorriso_eng.html on www.gnu.org it should rather be xorriso.html
- DVD-ROM drives report CD tracks with size up to the next track start.
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/check_media.c
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -805,8 +805,10 @@
} else if(strncmp(argv[i], "what=", 5) == 0) {
if(strcmp(argv[i]+5, "tracks") == 0)
job->mode= 0;
- else if(strcmp(argv[i]+5, "disc")== 0)
+ else if(strcmp(argv[i]+5, "image")== 0)
job->mode= 1;
+ else if(strcmp(argv[i]+5, "disc")== 0)
+ job->mode= 2;
else {
unknown_value:;
sprintf(xorriso->info_text,
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/check_media.h
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -102,7 +102,7 @@
*/
int mode; /* 0= track by track
1= single sweep over libisoburn media capacity
- >>> 2= single sweep over libburn media capacity
+ 2= single sweep over libburn media capacity
*/
time_t start_time;
int time_limit; /* Number of seconds after which to abort */
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/drive_mgt.c
^
|
@@ -800,7 +800,7 @@
int track_count= 0, session_no, track_no, profile_no= -1, track_size;
int last_track_start= 0, last_track_size= -1, num_data= 0, is_data= 0;
int is_inout_drive= 0, drive_role, status, num_formats, emul_lba;
- int num_payload= 0, not_reconizable= 0;
+ int not_recognizable= 0, start_lba, end_lba;
char profile_name[80],*respt,*devadr, *typetext= "";
struct burn_toc_entry toc_entry;
struct burn_drive_info *dinfo;
@@ -816,6 +816,11 @@
int image_blocks= 0;
char volume_id[33];
struct burn_toc_entry next_toc_entry;
+ int disk_category, part_version, num_layers, num_blocks;
+ char *book_name;
+/*
+ int num_payload= 0, num_wasted= 0, num_nondata= 0;
+*/
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
"on attempt to print Table Of Content",
@@ -839,7 +844,7 @@
{ret= 1; goto ex;}
sprintf(respt, "Drive type : vendor '%s' product '%s' revision '%s'\n",
dinfo[0].vendor, dinfo[0].product, dinfo[0].revision);
- if((flag & 32) | !(flag & 1))
+ if((flag & 32) || !(flag & 1))
Xorriso_toc_line(xorriso, flag & 8);
if(flag & 32)
{ret= 1; goto ex;}
@@ -866,7 +871,7 @@
strcat(respt, "\n");
} else {
sprintf(respt+strlen(respt), "is not recognizable\n");
- not_reconizable= 1;
+ not_recognizable= 1;
}
Xorriso_toc_line(xorriso, flag & 8);
@@ -878,7 +883,7 @@
sprintf(respt, "Media status : ");
if (s == BURN_DISC_FULL) {
- if(not_reconizable)
+ if(not_recognizable)
sprintf(respt+strlen(respt), "is not recognizable\n");
else
sprintf(respt+strlen(respt), "is written , is closed");
@@ -909,6 +914,59 @@
strcat(respt, "\n");
Xorriso_toc_line(xorriso, flag & 8);
+ if((s == BURN_DISC_FULL || s == BURN_DISC_APPENDABLE ||
+ s == BURN_DISC_BLANK) && !(flag & 1)) {
+ ret= burn_get_read_capacity(drive, &num_data, 0);
+ if(ret != 1 || s == BURN_DISC_BLANK)
+ num_data= 0;
+ num_free= isoburn_disc_available_space(drive, NULL) / 2048;
+ nwa= -1;
+ if (s == BURN_DISC_APPENDABLE) {
+ ret= isoburn_disc_track_lba_nwa(drive, NULL, 0, &lba, &nwa);
+ if(ret <= 0)
+ nwa= -1;
+ } else if(s == BURN_DISC_BLANK) {
+ ret= isoburn_disc_track_lba_nwa(drive, NULL, 0, &lba, &nwa);
+ if(ret == 1) {
+ num_free+= nwa;
+ nwa= 0;
+ }
+ }
+ lba= num_data + num_free;
+ if(nwa >= 0) {
+ lba= nwa + num_free;
+ if(nwa < num_data)
+ num_data= nwa;
+ }
+
+ /* If closed CD-RW : obtain ATIP lead out address */
+ if(profile_no == 0x0a) {
+ ret= burn_disc_read_atip(drive);
+ if(ret < 0)
+ goto ex;
+ ret= burn_drive_get_start_end_lba(drive, &start_lba, &end_lba, 0);
+ if(s == BURN_DISC_FULL && ret == 1) {
+ lba= end_lba - 2;
+ } else {
+ if(ret == 1 && end_lba - 2 > lba) {
+ sprintf(xorriso->info_text,
+ "ATIP end_lba %d > overall %d", end_lba, lba);
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
+ }
+ }
+ } else if(profile_no == 0x14) {
+ ret= burn_disc_get_phys_format_info(drive, &disk_category,
+ &book_name, &part_version,
+ &num_layers, &num_blocks, 0);
+ if(ret == 1 && num_blocks > lba)
+ lba= num_blocks;
+ }
+
+ sprintf(respt, "Media blocks : %d readable , %d writable , %d overall\n",
+ num_data, (int) num_free, lba);
+ Xorriso_toc_line(xorriso, flag & 8);
+ }
+
if(s == BURN_DISC_BLANK) {
sprintf(respt, "Media summary: 0 sessions, 0 data blocks, 0 data");
num_free= isoburn_disc_available_space(drive, NULL);
@@ -938,15 +996,15 @@
Xorriso_process_msg_queues(xorriso,0);
if(drive_role == 5 && s == BURN_DISC_APPENDABLE) {
ret= burn_disc_track_lba_nwa(drive, NULL, 0, &lba, &nwa);
- if(ret == 1)
- num_data= nwa;
+ if(ret != 1)
+ lba= 0;
} else {
ret= isoburn_get_min_start_byte(drive, &start_byte, 0);
nwa= start_byte / 2048;
if(ret<=0) {
Xorriso_process_msg_queues(xorriso,0);
if(flag&1)
- {ret= 0; goto ex;}
+ {ret= 1; goto ex;}
sprintf(xorriso->info_text, "Cannot obtain Table Of Content");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
{ret= 0; goto ex;}
@@ -965,20 +1023,29 @@
1, 0, image_blocks, volume_id);
nwa= image_blocks;
} else {
- nwa= num_data;
ret= burn_disc_get_formats(drive, &status, &size, &dummy,
&num_formats);
- if(ret>0 && status==BURN_FORMAT_IS_FORMATTED)
- nwa= size/2048;
+ if(ret <= 0 || status != BURN_FORMAT_IS_FORMATTED)
+ size= 0;
+ if(size <= 0) {
+ ret= burn_get_read_capacity(drive, &num_data, 0);
+ if(ret == 1)
+ size= ((off_t) num_data) * (off_t) 2048;
+ }
+ nwa= lba + size / 2048;
+ num_data= nwa - lba;
sprintf(respt, "%13s: %3d , %9d , %9ds , \n",
- typetext, 1, num_data, nwa);
+ typetext, 1, lba, num_data);
}
if(!(flag&1))
Xorriso_toc_line(xorriso, flag & 8);
last_track_start= lba;
+/*
num_payload= num_data= last_track_size= nwa;
+*/
num_sessions= 1;
} else {
+ num_data= 0;
sessions= isoburn_toc_disc_get_sessions(disc, &num_sessions);
for (session_no= 0; session_no<num_sessions && !(xorriso->request_to_abort);
session_no++) {
@@ -1043,8 +1110,10 @@
}
if(!(flag&1))
Xorriso_toc_line(xorriso, flag & 8);
+/*
if(track_no>0)
num_payload+= lba - last_track_start;
+*/
last_track_start= lba;
if((toc_entry.control&7)>=4) /* data track */
is_data= 1;
@@ -1058,7 +1127,9 @@
lba= burn_msf_to_lba(toc_entry.pmin, toc_entry.psec, toc_entry.pframe);
}
last_track_size= lba - last_track_start;
+/*
num_payload+= last_track_size;
+*/
if(is_data)
num_data+= last_track_size;
}
@@ -1066,8 +1137,6 @@
if(xorriso->request_to_abort)
{ret= 1; goto ex;}
/*
- int num_wasted= 0, num_nondata= 0;
-
num_wasted= lba - num_payload;
num_nondata= lba - num_data;
*/
@@ -1090,6 +1159,12 @@
Xorriso_toc_line(xorriso, flag & 8);
}
}
+ if(profile_no == 0x41 && num_sessions >= 300) {
+ sprintf(xorriso->info_text,
+ "Sequential BD-R media now contains %d sessions. It is likely to soon fail writing.",
+ num_sessions);
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
+ }
if (disc!=NULL)
isoburn_toc_disc_free(disc);
@@ -1100,9 +1175,11 @@
}
+/* @param flag bit0= try to find 'meaningful' links for enumerated devices
+*/
int Xorriso_show_devices(struct XorrisO *xorriso, int flag)
{
- char *adr= NULL;
+ char *adr= NULL, *link_adr= NULL, *adrpt;
int i, j, max_dev_len= 1, pad, ret;
struct burn_drive_info *drive_list= NULL;
unsigned int drive_count;
@@ -1110,6 +1187,7 @@
struct stat stbuf;
Xorriso_alloc_meM(adr, char, BURN_DRIVE_ADR_LEN);
+ Xorriso_alloc_meM(link_adr, char, BURN_DRIVE_ADR_LEN);
sprintf(xorriso->info_text, "Beginning to scan for devices ...\n");
Xorriso_info(xorriso,0);
@@ -1139,8 +1217,16 @@
if(burn_drive_get_adr(&(drive_list[i]), adr)<=0)
strcpy(adr, "-get_adr_failed-");
Xorriso_process_msg_queues(xorriso,0);
- if((int) strlen(adr) > max_dev_len)
- max_dev_len= strlen(adr);
+ adrpt= adr;
+ if(flag & 1) {
+ ret= burn_lookup_device_link(adr, link_adr, "/dev", NULL, 0, 0);
+ if(ret < 0)
+ goto ex;
+ if(ret == 1)
+ adrpt= link_adr;
+ }
+ if((int) strlen(adrpt) > max_dev_len)
+ max_dev_len= strlen(adrpt);
}
for(i= 0; i < (int) drive_count && !(xorriso->request_to_abort); i++) {
if(burn_drive_get_adr(&(drive_list[i]), adr)<=0)
@@ -1157,8 +1243,16 @@
if(stbuf.st_mode&S_IROTH) perms[4]= 'r';
if(stbuf.st_mode&S_IWOTH) perms[5]= 'w';
}
- sprintf(respt, "%d -dev '%s' ", i, adr);
- pad= max_dev_len-strlen(adr);
+ adrpt= adr;
+ if(flag & 1) {
+ ret= burn_lookup_device_link(adr, link_adr, "/dev", NULL, 0, 0);
+ if(ret < 0)
+ goto ex;
+ if(ret == 1)
+ adrpt= link_adr;
+ }
+ sprintf(respt, "%d -dev '%s' ", i, adrpt);
+ pad= max_dev_len-strlen(adrpt);
if(pad>0)
for(j= 0; j<pad; j++)
strcat(respt, " ");
@@ -1170,10 +1264,11 @@
Xorriso_info(xorriso,0);
burn_drive_info_free(drive_list);
- Xorriso_process_msg_queues(xorriso,0);
ret= 1;
ex:;
+ Xorriso_process_msg_queues(xorriso,0);
Xorriso_free_meM(adr);
+ Xorriso_free_meM(link_adr);
return(ret);
}
@@ -1284,11 +1379,55 @@
}
+int Xorriso_choose_speed_factor(struct XorrisO *xorriso,
+ int speed, int profile,
+ double *speed_factor, char **speed_unit,
+ int flag)
+{
+ double cd_factor = 75.0 * 2352;
+ double cd_speed_tolerance= 1.5, cd_speed_add;
+ int int_cd_speed, i;
+ static int cd_speed_list[]= {8, 10, 12, 16, 24, 32, 40, 48, 52, 0};
+
+ *speed_unit= "D";
+ *speed_factor= 1385000.0;
+
+ /* Does this look like an integer CD speed ? */
+ int_cd_speed= ((double) speed) * 1000.0 / cd_factor;
+ cd_speed_add= cd_speed_tolerance * (double) int_cd_speed;
+ int_cd_speed= (((double) speed) + cd_speed_add)
+ * 1000.0 / cd_factor;
+ if(abs((int) ((double) int_cd_speed) * cd_factor / 1000.0 -
+ ((double) speed)) > 2 * cd_speed_add ||
+ int_cd_speed > 64)
+ int_cd_speed= 0;
+ if(int_cd_speed > 7) {
+ for(i= 0; cd_speed_list[i]; i++)
+ if(int_cd_speed == cd_speed_list[i])
+ break;
+ if(cd_speed_list[i] == 0)
+ int_cd_speed= 0;
+ }
+
+ if(((profile < 0x08 || profile >= 0x100 || profile == 0x10 || profile == 0x40)
+ && int_cd_speed) ||
+ (profile >= 0x08 && profile <= 0x0a)) {
+ *speed_unit= "C";
+ *speed_factor= cd_factor;
+ } else if(profile >= 0x40 && profile <= 0x43) {
+ *speed_unit= "B";
+ *speed_factor= 4495625.0;
+ }
+ return(1);
+}
+
+
/* @return <=0 error, 1 success
*/
int Xorriso_list_speeds(struct XorrisO *xorriso, int flag)
{
- int ret, high= -1, low= 0x7fffffff, int_cd_speed, is_cd= 0;
+ int ret, high= -1, low= 0x7fffffff, is_cd= 0, i;
+ int recent_profile= 0;
char *respt, *speed_unit= "D";
double speed_factor= 1385000.0, cd_factor= 75.0 * 2352;
struct burn_drive_info *dinfo;
@@ -1304,18 +1443,29 @@
if(ret == 2)
goto ex;
ret= burn_drive_get_speedlist(drive, &speed_list);
- if(ret <= 0) {
+ if(ret < 0) {
sprintf(xorriso->info_text, "Cannot obtain speed list info");
- Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
ret= 0; goto ex;
}
ret= Xorriso_toc(xorriso, 3);
- if(ret<=0)
- goto ex;
+ if(ret<=0) {
+ sprintf(xorriso->info_text,
+ "Cannot obtain overview of drive and media content");
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
+ ret= 0; goto ex;
+ }
for (item= speed_list; item != NULL; item= item->next) {
+
+ sprintf(xorriso->info_text, "speed= %5dk , source= %d",
+ item->write_speed, item->source);
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
+
if(item->profile_loaded >= 0x08 && item->profile_loaded <= 0x0a)
- is_cd= 1;
+ is_cd= item->profile_loaded;
+ if(item->profile_loaded > 0)
+ recent_profile= item->profile_loaded;
if(item->source == 1) {
/* CD mode page 2Ah : report only if not same speed by GET PERFORMANCE */
for(other= speed_list; other != NULL; other= other->next)
@@ -1324,25 +1474,9 @@
if(other != NULL)
continue;
}
- speed_unit= "D";
- speed_factor= 1385000.0;
-
- /* Does this look like an integer CD speed ? */
- int_cd_speed= ((double) item->write_speed) * 1000.0 / cd_factor;
- if(abs((int) ((double) int_cd_speed) * cd_factor / 1000.0 -
- ((double) item->write_speed)) > 5 ||
- int_cd_speed > 64)
- int_cd_speed= 0;
-
- if(((item->profile_loaded < 0x08 || item->profile_loaded >= 0x100) &&
- int_cd_speed) ||
- (item->profile_loaded >= 0x08 && item->profile_loaded <= 0x0a)) {
- speed_unit= "C";
- speed_factor= 75.0 * 2352.0;
- } else if(item->profile_loaded >= 0x41 && item->profile_loaded <= 0x43) {
- speed_unit= "B";
- speed_factor= 4495625.0;
- }
+ Xorriso_choose_speed_factor(xorriso, item->write_speed,
+ item->profile_loaded,
+ &speed_factor, &speed_unit, 0);
sprintf(respt, "Write speed : ");
sprintf(respt + strlen(respt), " %5dk , %4.1fx%s\n",
item->write_speed,
@@ -1361,41 +1495,48 @@
if(ret < 0)
goto ex;
if(ret > 0) {
- ret= burn_drive_get_min_write_speed(drive);
- if(ret > 0) {
- if(ret > low) {
- sprintf(respt, "Write speed l: ");
- sprintf(respt + strlen(respt), " %5dk , %4.1fx%s\n",
- ret, ((double) ret) * 1000.0 / cd_factor, "C");
- Xorriso_result(xorriso,0);
- }
- if(ret > high)
- high= ret;
- low= ret;
- }
- ret= burn_drive_get_write_speed(drive);
- if(ret > 0) {
- if(ret < high) {
- sprintf(respt, "Write speed h: ");
- sprintf(respt + strlen(respt), " %5dk , %4.1fx%s\n",
- ret, ((double) ret) * 1000.0 / cd_factor, "C");
- Xorriso_result(xorriso,0);
- }
- high= ret;
- if(ret < low)
- low= ret;
- }
+ for(i= 0; i < 2; i++) {
+ if(i == 0)
+ ret= burn_drive_get_min_write_speed(drive);
+ else
+ ret= burn_drive_get_write_speed(drive);
+ if(ret > 0) {
+ if(ret < low || (i == 0 && ret != low)) {
+ sprintf(respt, "Write speed l: ");
+ sprintf(respt + strlen(respt), " %5dk , %4.1fx%s\n",
+ ret, ((double) ret) * 1000.0 / cd_factor, "C");
+ Xorriso_result(xorriso,0);
+ low= ret;
+ }
+ if(ret > high || (i == 1 && ret != high)) {
+ sprintf(respt, "Write speed h: ");
+ sprintf(respt + strlen(respt), " %5dk , %4.1fx%s\n",
+ ret, ((double) ret) * 1000.0 / cd_factor, "C");
+ Xorriso_result(xorriso,0);
+ high= ret;
+ }
+ }
+ }
}
}
if(high > -1) {
+ Xorriso_choose_speed_factor(xorriso, low, recent_profile,
+ &speed_factor, &speed_unit, 0);
sprintf(respt, "Write speed L: ");
sprintf(respt + strlen(respt), " %5dk , %4.1fx%s\n",
low, ((double) low) * 1000.0 / speed_factor, speed_unit);
Xorriso_result(xorriso,0);
+ Xorriso_choose_speed_factor(xorriso, low, recent_profile,
+ &speed_factor, &speed_unit, 0);
sprintf(respt, "Write speed H: ");
sprintf(respt + strlen(respt), " %5dk , %4.1fx%s\n",
high, ((double) high) * 1000.0 / speed_factor, speed_unit);
Xorriso_result(xorriso,0);
+ } else {
+ sprintf(xorriso->info_text,
+ "Could not get any write speed information from drive");
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
+ ret= 0; goto ex;
}
ret= 1;
ex:;
@@ -2290,7 +2431,7 @@
} else if(mode == 0) { /* track by track */
isoburn_disc= isoburn_toc_drive_get_disc(drive);
if(isoburn_disc == NULL)
- goto no_content_visible;
+ goto libburn_whole_disc;
isoburn_sessions=
isoburn_toc_disc_get_sessions(isoburn_disc, &num_sessions);
for(i= 0; i < num_sessions; i++) {
@@ -2361,27 +2502,33 @@
} else if(mode == 1) { /* isoburn disc capacity */
isoburn_disc= isoburn_toc_drive_get_disc(drive);
- if(isoburn_disc == NULL) {
-no_content_visible:;
- Xorriso_process_msg_queues(xorriso,0);
- sprintf(xorriso->info_text, "No content detected on media");
- Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
- {ret= 0; goto ex;}
- }
+ if(isoburn_disc == NULL)
+ goto libburn_whole_disc;
blocks= media_blocks= isoburn_toc_disc_get_sectors(isoburn_disc);
if(start_lba >= 0)
blocks-= start_lba;
if(media_blocks <= 0)
- goto no_content_visible;
+ goto libburn_whole_disc;
xorriso->pacifier_total= blocks;
ret= Xorriso_check_interval(xorriso, *spotlist, job, start_lba, blocks,
read_chunk, 0, 0);
if(ret <= 0)
goto ex;
} else if(mode == 2) {
-
- /* >>> single sweep over libburn media capacity */;
-
+libburn_whole_disc:;
+ /* single sweep over libburn media capacity */
+ ret= burn_get_read_capacity(drive, &blocks, 0);
+ if(ret <= 0) {
+ Xorriso_process_msg_queues(xorriso,0);
+ sprintf(xorriso->info_text, "No content detected on media");
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
+ {ret= 0; goto ex;}
+ }
+ xorriso->pacifier_total= blocks;
+ ret= Xorriso_check_interval(xorriso, *spotlist, job, 0, blocks,
+ read_chunk, 0, 0);
+ if(ret <= 0)
+ goto ex;
}
Xorriso_pacifier_callback(xorriso, "sectors examined",
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/man_1_xorriso.html
^
|
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Fri Jul 8 12:48:44 2011 -->
+<!-- CreationDate: Mon Aug 8 09:37:00 2011 -->
<html>
<head>
<meta name="generator" content="groff -Thtml, via man -H, via xorriso/convert_man_to_html.sh">
@@ -407,7 +407,7 @@
On OpenSolaris:<br>
−dev /dev/rdsk/c4t0d0s2<br>
Get a list of accessible drives by command<br>
-−devices<br>
+−device_links<br>
It might be necessary to do this as <b>superuser</b> in
order to see all drives and to then allow rw−access
for the intended users. Consider to bundle the authorized
@@ -3438,15 +3438,19 @@
<td width="21%"></td>
<td width="77%">
<p>Put out a list of speed values as reported by the output
-drive for the loaded media. At the end of the list,
-"Write speed L" and "Write speed H" are
-the best guesses for lower and upper speed limit.<br>
-"Write speed l" and "Write speed h" may
-appear only with CD and eventually override the list of
-other speed offers.<br>
+drive with the loaded media. This does not necessarily mean
+that the media is writable or that these speeds are actually
+achievable. Especially the lists reported with empty drive
+or with ROM media obviously advertise speeds for other
+media.<br>
It is not mandatory to use speed values out of the listed
range. The drive is supposed to choose a safe speed that is
-as near to the desired speed as possible.</p>
+as near to the desired speed as possible.<br>
+At the end of the list, "Write speed L" and
+"Write speed H" are the best guesses for lower and
+upper speed limit. "Write speed l" and "Write
+speed h" may appear only with CD and eventually
+override the list of other speed offers.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -5110,6 +5114,33 @@
shown.</p>
</td>
</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p><b>−device_links</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Like −devices, but presenting the drives with
+addresses of symbolic links which point to the actual device
+files.<br>
+Modern GNU/Linux systems may shuffle drive addresses from
+boot to boot. The udev daemon is supposed to create links
+which always point to the same drive, regardless of its
+system address. The command −device_links shows the
+addresses of such links if they begin by
+"/dev/dvd" or "/dev/cd". Precedence is:
+"dvdrw", "cdrw", "dvd",
+"cdrom", "cd".</p>
+</td>
+</table>
<!-- TABS -->
<table width="100%" border=0 rules="none" frame="void"
cols="3" cellspacing="0" cellpadding="0">
@@ -6007,6 +6038,9 @@
this virtual outcome.<b><br>
what="disc"</b> scans the payload range of a media
without respecting track gaps.<b><br>
+what="image"</b> similar to "disc", but
+restricts scanning to the range of the ISO 9660 image, if
+present.<b><br>
min_lba=limit</b> omits all blocks with addresses lower than
limit.<b><br>
max_lba=limit</b> switches to what=disc and omits all blocks
@@ -7391,14 +7425,16 @@
to restrict privileges of <b>xorriso</b> to
"base,sys_devices" and to give r−permission
to user or group.<br>
-$ xorriso −devices<br>
-0 −dev ’/dev/sr0’ rwrw−− :
-’_NEC ’ ’DVD_RW ND−4570A’<br>
-1 −dev ’/dev/sr1’ rwrw−− :
-’HL−DT−ST’ ’DVDRAM
-GSA−4082B’<br>
-2 −dev ’/dev/sr2’ rwrw−− :
-’PHILIPS ’ ’SPD3300L’</p>
+$ xorriso −device_links<br>
+1 −dev ’/dev/cdrom1’ rwrw−− :
+’TSSTcorp’ ’DVD−ROM
+SH−D162C<br>
+1 −dev ’/dev/cdrw’ rwrw−− :
+’TSSTcorp’ ’CDDVDW
+SH−S223B’<br>
+2 −dev ’/dev/cdrw3’ rwrw−− :
+’HL−DT−ST’
+’BDDVDRW_GGC−H20L’</p>
</td>
</table>
<!-- INDENTATION -->
@@ -8251,5 +8287,5 @@
</td>
</table>
<hr>
-<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorriso.1 on Fri Jul 8 12:48:44 CEST 2011 by man_xorriso_to_html.sh )</CENTER></FONT></body>
+<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorriso.1 on Mon Aug 8 09:37:00 CEST 2011 by man_xorriso_to_html.sh )</CENTER></FONT></body>
</html>
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/man_1_xorrisofs.html
^
|
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Fri Jul 8 12:48:44 2011 -->
+<!-- CreationDate: Mon Aug 8 09:37:00 2011 -->
<html>
<head>
<meta name="generator" content="groff -Thtml, via man -H, via xorriso/convert_man_to_html.sh">
@@ -1069,11 +1069,27 @@
<tr valign="top" align="left">
<td width="21%"></td>
<td width="77%">
-<p>Alias of −U. <b>−untranslated_name_len</b>
-number Allow ISO file names up to the given number of
-characters without any character conversion. The maximum
-number is 96. If a file name has more characters, then image
-production will fail deliberately.<br>
+<p>Alias of −U.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p><b>−untranslated_name_len</b> number</p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Allow ISO file names up to the given number of characters
+without any character conversion. The maximum number is 96.
+If a file name has more characters, then image production
+will fail deliberately.<br>
This violates ISO 9660 specs.</p>
</td>
</table>
@@ -3673,5 +3689,5 @@
</td>
</table>
<hr>
-<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorrisofs.1 on Fri Jul 8 12:48:44 CEST 2011 by man_xorrisofs_to_html.sh )</CENTER></FONT></body>
+<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorrisofs.1 on Mon Aug 8 09:37:00 CEST 2011 by man_xorrisofs_to_html.sh )</CENTER></FONT></body>
</html>
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/misc_funct.c
^
|
@@ -997,7 +997,7 @@
ret= regexec(&re, text, 1, match, 0);
regfree(&re);
if(ret != 0)
- goto ex;
+ {ret= 0; goto ex;}
ret= 1;
ex:;
if(re_text != NULL)
@@ -1218,3 +1218,19 @@
return "invalid";
}
+
+/* @return 0=truncated, 1=ok
+*/
+int Xorriso__to_upper(char *in, char *out, int out_size, int flag)
+{
+ int i;
+
+ for(i= 0; i < out_size - 1 && in[i] != 0; i++)
+ if(isalpha(in[i]))
+ out[i]= toupper(in[i]);
+ else
+ out[i]= in[i];
+ out[i]= 0;
+ return(in[i] == 0);
+}
+
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/misc_funct.h
^
|
@@ -89,6 +89,9 @@
char *Xorriso__hide_mode_text(int hide_mode, int flag);
+/* @return 0=truncated, 1=ok
+*/
+int Xorriso__to_upper(char *in, char *out, int out_size, int flag);
#endif /* ! Xorriso_pvt_misc_includeD */
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/opts_a_c.c
^
|
@@ -36,18 +36,24 @@
/* Option -abort_on */
-int Xorriso_option_abort_on(struct XorrisO *xorriso, char *severity, int flag)
+int Xorriso_option_abort_on(struct XorrisO *xorriso, char *in_severity,
+ int flag)
{
int ret, sev;
+ char severity[20], *official;
+ Xorriso__to_upper(in_severity, severity, (int) sizeof(severity), 0);
ret= Xorriso__text_to_sev(severity, &sev, 0);
if(ret<=0) {
sprintf(xorriso->info_text, "-abort_on: Not a known severity name : ");
- Text_shellsafe(severity, xorriso->info_text, 1);
+ Text_shellsafe(in_severity, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(ret);
}
- if(Sfile_str(xorriso->abort_on_text,severity,0)<=0)
+ ret= Xorriso__sev_to_text(sev, &official, 0);
+ if(ret <= 0)
+ official= severity;
+ if(Sfile_str(xorriso->abort_on_text, official, 0) <= 0)
return(-1);
xorriso->abort_on_severity= sev;
xorriso->abort_on_is_default= 0;
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/opts_d_h.c
^
|
@@ -101,8 +101,9 @@
}
-/* Option -devices */
-/* @return <=0 error , 1 success, 2 revoked by -reassure
+/* Option -devices , -device_links */
+/* @param flag bit0= perform -device_links rather than -devices
+ @return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_devices(struct XorrisO *xorriso, int flag)
{
@@ -138,7 +139,7 @@
}
Xorriso_give_up_drive(xorriso, 3);
}
- ret= Xorriso_show_devices(xorriso, 0);
+ ret= Xorriso_show_devices(xorriso, flag & 1);
return(ret);
}
@@ -1510,6 +1511,8 @@
" -gid gid Group id for the same purpose.",
"",
" -devices Show list of available optical drives and their addresses.",
+" -device_links Like devices, but showing link paths which are hopefully",
+" persistent over reboot on modern Linux systems.",
"",
" -toc Show media specific table of content (sessions).",
"",
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/opts_i_o.c
^
|
@@ -1157,6 +1157,9 @@
ret= Xorriso_afile_fopen(xorriso, adr, "rb", &fp, 0);
if(ret <= 0)
return(0);
+ sprintf(xorriso->info_text, "Command file: ");
+ Text_shellsafe(adr, xorriso->info_text, 1);
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
while(1) {
ret= Xorriso_read_lines(xorriso, fp, &linecount, &linec, &linev, 1 | 8);
if(ret <= 0)
@@ -1211,6 +1214,9 @@
strcat(xorriso->info_text, "\n");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 1);
}
+ sprintf(xorriso->info_text, "Command file end: ");
+ Text_shellsafe(adr, xorriso->info_text, 1);
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
if(ret!=1)
return(ret);
return(!was_failure);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/opts_p_z.c
^
|
@@ -452,19 +452,24 @@
/* Option -report_about */
-int Xorriso_option_report_about(struct XorrisO *xorriso, char *severity,
+int Xorriso_option_report_about(struct XorrisO *xorriso, char *in_severity,
int flag)
{
int ret, sev;
+ char severity[20], *official;
+ Xorriso__to_upper(in_severity, severity, (int) sizeof(severity), 0);
ret= Xorriso__text_to_sev(severity, &sev, 0);
if(ret<=0) {
sprintf(xorriso->info_text, "-report_about: Not a known severity name : ");
- Text_shellsafe(severity, xorriso->info_text, 1);
+ Text_shellsafe(in_severity, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
return(ret);
}
- if(Sfile_str(xorriso->report_about_text,severity,0)<=0)
+ ret= Xorriso__sev_to_text(sev, &official, 0);
+ if(ret <= 0)
+ official= severity;
+ if(Sfile_str(xorriso->report_about_text, official, 0) <= 0)
return(-1);
xorriso->report_about_severity= sev;
return(1);
@@ -472,26 +477,31 @@
/* Option -return_with */
-int Xorriso_option_return_with(struct XorrisO *xorriso, char *severity,
+int Xorriso_option_return_with(struct XorrisO *xorriso, char *in_severity,
int exit_value, int flag)
{
int ret, sev;
+ char severity[20], *official;
+ Xorriso__to_upper(in_severity, severity, (int) sizeof(severity), 0);
ret= Xorriso__text_to_sev(severity, &sev, 0);
if(ret<=0) {
sprintf(xorriso->info_text,
"-return_with: Not a known severity name : ");
- Text_shellsafe(severity, xorriso->info_text, 1);
+ Text_shellsafe(in_severity, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(ret);
}
+ ret= Xorriso__sev_to_text(sev, &official, 0);
+ if(ret <= 0)
+ official= severity;
if(exit_value && (exit_value < 32 || exit_value > 63)) {
sprintf(xorriso->info_text,
"-return_with: Not an allowed exit_value. Use 0, or 32 to 63.");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
- if(Sfile_str(xorriso->return_with_text,severity,0)<=0)
+ if(Sfile_str(xorriso->return_with_text, official, 0) <= 0)
return(-1);
xorriso->return_with_severity= sev;
xorriso->return_with_value= exit_value;
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/parse_exec.c
^
|
@@ -447,7 +447,8 @@
int ret, was_dashed= 0, i, cmd_data_size= 2 * SfileadrL;
char *cmd, *cmd_data= NULL;
static char arg0_commands[][40]= {
- "ban_stdio_write","close_filter_list","commit","devices","end",
+ "ban_stdio_write","close_filter_list","commit",
+ "device_links","devices","end",
"for_backup", "help",
"list_formats","list_speeds",
"no_rc","print_size","pvd_info","pwd","pwdi","pwdx",
@@ -844,6 +845,9 @@
(*idx)++;
ret= Xorriso_option_dev(xorriso, arg1, 3);
+ } else if(strcmp(cmd,"device_links")==0) {
+ ret= Xorriso_option_devices(xorriso, 1);
+
} else if(strcmp(cmd,"devices")==0) {
ret= Xorriso_option_devices(xorriso, 0);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/read_run.c
^
|
@@ -249,7 +249,7 @@
int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
IsoNode *node, int flag)
{
- int ret, is_dir= 0;
+ int ret, is_dir= 0, errno_copy= 0;
mode_t mode;
uid_t uid;
gid_t gid;
@@ -285,10 +285,17 @@
ret= iso_local_set_attrs(disk_path, num_attrs, names, value_lengths,
values, 0);
if(ret < 0) {
+ errno_copy= errno;
+ if(ret != (int) ISO_AAIP_NO_SET_LOCAL)
+ errno_copy= 0;
+ Xorriso_report_iso_error(xorriso, "", ret,
+ "Error on iso_local_set_attrs",
+ 0, "FAILURE", 1 | ((ret == -1)<<2) );
sprintf(xorriso->info_text,
"Cannot change ACL or xattr of disk file ");
Text_shellsafe(disk_path, xorriso->info_text, 1);
- Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE",0);
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno_copy,
+ "FAILURE",0);
{ret= 0; goto ex;}
}
}
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorriso.1
^
|
@@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
-.TH XORRISO 1 "Version 1.1.2, Jul 08, 2011"
+.TH XORRISO 1 "Version 1.1.4, Aug 7, 2011"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@@ -305,7 +305,7 @@
.br
Get a list of accessible drives by command
.br
- \-devices
+ \-device_links
.br
It might be necessary to do this as
\fBsuperuser\fR
@@ -2057,16 +2057,20 @@
Smaller format size with DVD\-RAM, BD\-RE, or BD\-R means more reserve space.
.TP
\fB\-list_speeds\fR
-Put out a list of speed values as reported by the output drive for
-the loaded media. At the end of the list, "Write speed L" and "Write speed H"
-are the best guesses for lower and upper speed limit.
-.br
-"Write speed l" and "Write speed h" may appear only with CD
-and eventually override the list of other speed offers.
+Put out a list of speed values as reported by the output drive with
+the loaded media. This does not necessarily mean that the media is writable
+or that these speeds are actually achievable. Especially the
+lists reported with empty drive or with ROM media obviously advertise
+speeds for other media.
.br
It is not mandatory to use speed values out of the listed range.
The drive is supposed to choose a safe speed that is as near to the desired
speed as possible.
+.br
+At the end of the list, "Write speed L" and "Write speed H"
+are the best guesses for lower and upper speed limit.
+"Write speed l" and "Write speed h" may appear only with CD
+and eventually override the list of other speed offers.
.TP
\fB\-close_damaged\fR "as_needed"|"force"
Try to close the upcomming track and session if the drive reported the media
@@ -3063,6 +3067,17 @@
.br
Drives which are occupied by other processes get not shown.
.TP
+\fB\-device_links\fR
+Like \-devices, but presenting the drives with addresses of symbolic links
+which point to the actual device files.
+.br
+Modern GNU/Linux systems may shuffle drive addresses from boot to boot.
+The udev daemon is supposed to create links which always point to the
+same drive, regardless of its system address.
+The command \-device_links shows the addresses of such links if they begin
+by "/dev/dvd" or "/dev/cd".
+Precedence is: "dvdrw", "cdrw", "dvd", "cdrom", "cd".
+.TP
\fB\-toc\fR
.br
Show media specific table of content. This is the media session history,
@@ -3425,6 +3440,10 @@
\fBwhat="disc"\fR
scans the payload range of a media without respecting track gaps.
.br
+\fBwhat="image"\fR
+similar to "disc", but restricts scanning to the range of the ISO 9660 image,
+if present.
+.br
\fBmin_lba=limit\fR
omits all blocks with addresses lower than limit.
.br
@@ -4122,13 +4141,13 @@
On Solaris use pfexec. Consider to restrict privileges of \fBxorriso\fR to
"base,sys_devices" and to give r\-permission to user or group.
.br
-$ xorriso \-devices
+$ xorriso \-device_links
.br
-0 \-dev '/dev/sr0' rwrw\-\- : '_NEC ' 'DVD_RW ND\-4570A'
+1 \-dev '/dev/cdrom1' rwrw\-\- : 'TSSTcorp' 'DVD\-ROM SH\-D162C
.br
-1 \-dev '/dev/sr1' rwrw\-\- : 'HL\-DT\-ST' 'DVDRAM GSA\-4082B'
+1 \-dev '/dev/cdrw' rwrw\-\- : 'TSSTcorp' 'CDDVDW SH\-S223B'
.br
-2 \-dev '/dev/sr2' rwrw\-\- : 'PHILIPS ' 'SPD3300L'
+2 \-dev '/dev/cdrw3' rwrw\-\- : 'HL\-DT\-ST' 'BDDVDRW_GGC\-H20L'
.SS
.B Blank media and compose a new ISO image as batch run
Aquire drive /dev/sr2, make media ready for writing a new image,
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorriso.h
^
|
@@ -61,7 +61,7 @@
*/
#define Xorriso_header_version_majoR 1
#define Xorriso_header_version_minoR 1
-#define Xorriso_header_version_micrO 2
+#define Xorriso_header_version_micrO 4
/** Eventually something like ".pl01" to indicate a bug fix. Normally empty.
@@ -790,7 +790,8 @@
int Xorriso_option_dev(struct XorrisO *xorriso, char *adr, int flag);
/* Option -devices */
-/* @return <=0 error , 1 success, 2 revoked by -reassure
+/* @param flag bit0= perform -device_links rather than -devices
+ @return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_devices(struct XorrisO *xorriso, int flag);
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorriso.info
^
|
@@ -8,14 +8,14 @@
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem
images with Rock Ridge extensions.
- Copyright (C) 2007 - 2010 Thomas Schmitt
+ Copyright (C) 2007 - 2011 Thomas Schmitt
Permission is granted to distrubute this text freely.

File: xorriso.info, Node: Top, Next: Overview, Up: (dir)
-GNU xorriso 1.1.2
+GNU xorriso 1.1.4
*****************
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem
@@ -274,7 +274,7 @@
On OpenSolaris:
-dev /dev/rdsk/c4t0d0s2
Get a list of accessible drives by command
--devices
+-device_links
It might be necessary to do this as *superuser* in order to see all
drives and to then allow rw-access for the intended users. Consider to
bundle the authorized users in a group like old "floppy".
@@ -1832,15 +1832,18 @@
reserve space.
-list_speeds
- Put out a list of speed values as reported by the output drive for
- the loaded media. At the end of the list, "Write speed L" and
- "Write speed H" are the best guesses for lower and upper speed
- limit.
- "Write speed l" and "Write speed h" may appear only with CD and
- eventually override the list of other speed offers.
+ Put out a list of speed values as reported by the output drive with
+ the loaded media. This does not necessarily mean that the media is
+ writable or that these speeds are actually achievable. Especially
+ the lists reported with empty drive or with ROM media obviously
+ advertise speeds for other media.
It is not mandatory to use speed values out of the listed range.
The drive is supposed to choose a safe speed that is as near to
the desired speed as possible.
+ At the end of the list, "Write speed L" and "Write speed H" are
+ the best guesses for lower and upper speed limit. "Write speed l"
+ and "Write speed h" may appear only with CD and eventually
+ override the list of other speed offers.
-close_damaged "as_needed"|"force"
Try to close the upcomming track and session if the drive reported
@@ -2687,6 +2690,16 @@
*superuser* who is able to see all drives.
Drives which are occupied by other processes get not shown.
+-device_links
+ Like -devices, but presenting the drives with addresses of
+ symbolic links which point to the actual device files.
+ Modern GNU/Linux systems may shuffle drive addresses from boot to
+ boot. The udev daemon is supposed to create links which always
+ point to the same drive, regardless of its system address. The
+ command -device_links shows the addresses of such links if they
+ begin by "/dev/dvd" or "/dev/cd". Precedence is: "dvdrw", "cdrw",
+ "dvd", "cdrom", "cd".
+
-toc
Show media specific table of content. This is the media session
history, not the ISO image directory tree.
@@ -3008,6 +3021,9 @@
what="disc"
scans the payload range of a media without respecting track
gaps.
+ what="image"
+ similar to "disc", but restricts scanning to the range of the
+ ISO 9660 image, if present.
min_lba=limit
omits all blocks with addresses lower than limit.
max_lba=limit
@@ -3621,10 +3637,10 @@
Solaris use pfexec. Consider to restrict privileges of `xorriso' to
"base,sys_devices" and to give r-permission to user or group.
-$ xorriso -devices
-0 -dev '/dev/sr0' rwrw-- : '_NEC ' 'DVD_RW ND-4570A'
-1 -dev '/dev/sr1' rwrw-- : 'HL-DT-ST' 'DVDRAM GSA-4082B'
-2 -dev '/dev/sr2' rwrw-- : 'PHILIPS ' 'SPD3300L'
+$ xorriso -device_links
+1 -dev '/dev/cdrom1' rwrw-- : 'TSSTcorp' 'DVD-ROM SH-D162C
+1 -dev '/dev/cdrw' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S223B'
+2 -dev '/dev/cdrw3' rwrw-- : 'HL-DT-ST' 'BDDVDRW_GGC-H20L'

File: xorriso.info, Node: ExCreate, Next: ExDialog, Prev: ExDevices, Up: Examples
@@ -4201,8 +4217,8 @@
* -cd sets working directory in ISO: Navigate. (line 7)
* -cdx sets working directory on disk: Navigate. (line 16)
* -charset sets input/output character set: Charset. (line 43)
-* -check_md5 verifies file checksum: Verify. (line 144)
-* -check_md5_r verifies file tree checksums: Verify. (line 160)
+* -check_md5 verifies file checksum: Verify. (line 147)
+* -check_md5_r verifies file tree checksums: Verify. (line 163)
* -check_media reads media block by block: Verify. (line 21)
* -check_media_defaults sets -check_media options: Verify. (line 40)
* -chgrp sets group in ISO image: Manip. (line 50)
@@ -4213,7 +4229,7 @@
* -chown_r sets ownership in ISO image: Manip. (line 47)
* -clone copies ISO directory tree: Insert. (line 171)
* -close controls media closing: SetWrite. (line 262)
-* -close_damaged closes damaged track and session: Writing. (line 133)
+* -close_damaged closes damaged track and session: Writing. (line 136)
* -close_filter_list bans filter registration: Filter. (line 52)
* -commit writes pending ISO image: Writing. (line 13)
* -commit_eject writes and ejects: Writing. (line 40)
@@ -4229,6 +4245,7 @@
* -cpx copies files to disk: Restore. (line 88)
* -cut_out inserts piece of data file: Insert. (line 126)
* -dev aquires one drive for input and output: AqDrive. (line 12)
+* -device_links gets list of drives: Inquiry. (line 18)
* -devices gets list of drives: Inquiry. (line 7)
* -dialog enables dialog mode: DialogCtl. (line 7)
* -disk_dev_ino fast incremental backup: Loading. (line 189)
@@ -4277,7 +4294,7 @@
* -joliet enables production of Joliet tree: SetWrite. (line 10)
* -list_delimiter replaces '--': Scripting. (line 42)
* -list_formats lists available formats: Writing. (line 110)
-* -list_profiles lists supported media: Writing. (line 147)
+* -list_profiles lists supported media: Writing. (line 150)
* -list_speeds lists available write speeds: Writing. (line 122)
* -load addresses a particular session as input: Loading. (line 11)
* -local_charset sets terminal character set: Charset. (line 47)
@@ -4297,8 +4314,8 @@
* -md5 controls handling of MD5 sums: Loading. (line 155)
* -mkdir creates ISO directory: Insert. (line 166)
* -mount issues mount command for ISO session: Restore. (line 122)
-* -mount_cmd composes mount command line: Inquiry. (line 31)
-* -mount_cmd controls mount command: Inquiry. (line 47)
+* -mount_cmd composes mount command line: Inquiry. (line 41)
+* -mount_cmd controls mount command: Inquiry. (line 57)
* -mv renames file in ISO image: Manip. (line 35)
* -no_rc disables startup files: Scripting. (line 7)
* -not_leaf sets exclusion pattern: SetInsert. (line 62)
@@ -4321,12 +4338,12 @@
* -print prints result text line: Scripting. (line 81)
* -print_info prints message text line: Scripting. (line 84)
* -print_mark prints synchronizing text line: Scripting. (line 87)
-* -print_size predicts image size: Inquiry. (line 69)
+* -print_size predicts image size: Inquiry. (line 79)
* -prog sets program name: Frontend. (line 30)
* -prog_help prints help text: Frontend. (line 33)
* -prompt prompts for enter key: Scripting. (line 92)
* -publisher sets publisher id: SetWrite. (line 113)
-* -pvd_info shows image id strings: Inquiry. (line 82)
+* -pvd_info shows image id strings: Inquiry. (line 92)
* -pwd tells working directory in ISO: Navigate. (line 20)
* -pwdx tells working directory on disk: Navigate. (line 23)
* -quoted_not_list sets exclusions: SetInsert. (line 72)
@@ -4345,7 +4362,7 @@
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168)
* -scsi_log reports SCSI commands: Scripting. (line 125)
* -session_log logs written sessions: Scripting. (line 116)
-* -session_string composes session info line: Inquiry. (line 56)
+* -session_string composes session info line: Inquiry. (line 66)
* -set_filter applies filter to file: Filter. (line 60)
* -set_filter_r applies filter to file tree: Filter. (line 85)
* -setfacl sets ACL in ISO image: Manip. (line 73)
@@ -4365,9 +4382,9 @@
* -stdio_sync controls stdio buffer: SetWrite. (line 245)
* -stream_recording controls defect management: SetWrite. (line 226)
* -system_id sets system id: SetWrite. (line 128)
-* -tell_media_space reports free space: Inquiry. (line 78)
+* -tell_media_space reports free space: Inquiry. (line 88)
* -temp_mem_limit curbs memory consumption: Scripting. (line 74)
-* -toc shows list of sessions: Inquiry. (line 18)
+* -toc shows list of sessions: Inquiry. (line 28)
* -uid sets global ownership: SetWrite. (line 191)
* -update inserts path if different: Insert. (line 99)
* -update_l inserts paths if different: Insert. (line 121)
@@ -4419,7 +4436,7 @@
* Create, new ISO image, _definiton: Methods. (line 6)
* Cylinder alignment, _definiton: Bootable. (line 167)
* Cylinder size, _definiton: Bootable. (line 156)
-* Damaged track and session, close, -close_damaged: Writing. (line 133)
+* Damaged track and session, close, -close_damaged: Writing. (line 136)
* Delete, from ISO image, -rm: Manip. (line 21)
* Delete, from ISO image, -rm_r: Manip. (line 28)
* Delete, ISO directory, -rmdir: Manip. (line 32)
@@ -4441,8 +4458,9 @@
* Drive, for input and output, -dev: AqDrive. (line 12)
* Drive, for input, -indev: AqDrive. (line 24)
* Drive, for output, -outdev: AqDrive. (line 31)
+* Drive, get drive list, -device_links: Inquiry. (line 18)
* Drive, get drive list, -devices: Inquiry. (line 7)
-* Drive, list supported media, -list_profiles: Writing. (line 147)
+* Drive, list supported media, -list_profiles: Writing. (line 150)
* Drive, reduce activity, -calm_drive: Loading. (line 235)
* Drive, report SCSI commands, -scsi_log: Scripting. (line 125)
* Drive, write and eject, -commit_eject: Writing. (line 40)
@@ -4481,7 +4499,7 @@
* Image, set volume id, -volid: SetWrite. (line 89)
* Image, set volume set id, -volset_id: SetWrite. (line 108)
* Image, set volume timestamp, -volume_date: SetWrite. (line 135)
-* Image, show id strings, -pvd_info: Inquiry. (line 82)
+* Image, show id strings, -pvd_info: Inquiry. (line 92)
* Insert, enable overwriting, -overwrite: SetInsert. (line 127)
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 55)
* Insert, file exclusion from file, -not_list: SetInsert. (line 67)
@@ -4592,17 +4610,17 @@
* Rock Ridge, _definiton: Extras. (line 6)
* Session, _definition: Model. (line 6)
* Session, altered start address, -displacement: Loading. (line 35)
-* Session, info string, -session_string: Inquiry. (line 56)
+* Session, info string, -session_string: Inquiry. (line 66)
* Session, issue mount command, -mount: Restore. (line 122)
* Session, log when written, -session_log: Scripting. (line 116)
-* Session, mount command line, -mount_cmd: Inquiry. (line 31)
-* Session, mount parameters, -mount_opts: Inquiry. (line 47)
+* Session, mount command line, -mount_cmd: Inquiry. (line 41)
+* Session, mount parameters, -mount_opts: Inquiry. (line 57)
* Session, select as input, -load: Loading. (line 11)
* SUN Disk Label, production: Bootable. (line 187)
* SUN SPARC boot images, activation: Bootable. (line 220)
* System area, _definiton: Bootable. (line 121)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 210)
-* Table-of-content, show, -toc: Inquiry. (line 18)
+* Table-of-content, show, -toc: Inquiry. (line 28)
* Timestamps, set in ISO image, -alter_date: Manip. (line 147)
* Timestamps, set in ISO image, -alter_date_r: Manip. (line 167)
* Tree, disk, traverse, -findx: Navigate. (line 106)
@@ -4611,8 +4629,8 @@
* Verify, compare ISO and disk file, -compare: Navigate. (line 140)
* Verify, compare ISO and disk tree, -compare_r: Navigate. (line 153)
* Verify, compare ISO and disk, -compare_l: Navigate. (line 158)
-* Verify, file checksum, -check_md5: Verify. (line 144)
-* Verify, file tree checksums, -check_md5_r: Verify. (line 160)
+* Verify, file checksum, -check_md5: Verify. (line 147)
+* Verify, file tree checksums, -check_md5_r: Verify. (line 163)
* Verify, preset -check_media, -check_media_defaults: Verify. (line 40)
* Write, block size, -dvd_obs: SetWrite. (line 238)
* Write, bootability, -boot_image: Bootable. (line 26)
@@ -4622,12 +4640,12 @@
* Write, defect management, -stream_recording: SetWrite. (line 226)
* Write, enable Joliet, -joliet: SetWrite. (line 10)
* Write, fifo size, -fs: SetWrite. (line 255)
-* Write, free space, -tell_media_space: Inquiry. (line 78)
+* Write, free space, -tell_media_space: Inquiry. (line 88)
* Write, log problematic disk files, -errfile_log: Scripting. (line 96)
* Write, log written sessions, -session_log: Scripting. (line 116)
* Write, padding image, -padding: SetWrite. (line 268)
* Write, pending ISO image, -commit: Writing. (line 13)
-* Write, predict image size, -print_size: Inquiry. (line 69)
+* Write, predict image size, -print_size: Inquiry. (line 79)
* Write, set speed, -speed: SetWrite. (line 211)
* Write, simulation, -dummy: SetWrite. (line 251)
* xattr, _definiton: Extras. (line 52)
@@ -4647,53 +4665,53 @@
Node: Media6148
Node: Methods8814
Node: Drives11363
-Node: Extras14671
-Node: Processing18136
-Node: Dialog21606
-Node: Options23269
-Node: AqDrive24877
-Node: Loading27914
-Node: Insert42181
-Node: SetInsert51886
-Node: Manip60454
-Node: CmdFind69181
-Node: Filter80443
-Node: Writing84781
-Node: SetWrite92544
-Node: Bootable106590
-Node: Jigdo119808
-Node: Charset124054
-Node: Exception126813
-Node: DialogCtl132926
-Node: Inquiry135513
-Node: Navigate139841
-Node: Verify147809
-Node: Restore156347
-Node: Emulation163007
-Node: Scripting172810
-Node: Frontend178938
-Node: Examples180237
-Node: ExDevices181408
-Node: ExCreate182046
-Node: ExDialog183320
-Node: ExGrowing184582
-Node: ExModifying185384
-Node: ExBootable185885
-Node: ExCharset186434
-Node: ExPseudo187254
-Node: ExCdrecord188152
-Node: ExMkisofs188467
-Node: ExGrowisofs189805
-Node: ExException190940
-Node: ExTime191394
-Node: ExIncBackup191853
-Node: ExRestore195777
-Node: ExRecovery196735
-Node: Files197303
-Node: Seealso198601
-Node: Bugreport199189
-Node: Legal199770
-Node: CommandIdx200700
-Node: ConceptIdx215514
+Node: Extras14676
+Node: Processing18141
+Node: Dialog21611
+Node: Options23274
+Node: AqDrive24882
+Node: Loading27919
+Node: Insert42186
+Node: SetInsert51891
+Node: Manip60459
+Node: CmdFind69186
+Node: Filter80448
+Node: Writing84786
+Node: SetWrite92779
+Node: Bootable106825
+Node: Jigdo120043
+Node: Charset124289
+Node: Exception127048
+Node: DialogCtl133161
+Node: Inquiry135748
+Node: Navigate140592
+Node: Verify148560
+Node: Restore157225
+Node: Emulation163885
+Node: Scripting173688
+Node: Frontend179816
+Node: Examples181115
+Node: ExDevices182286
+Node: ExCreate182945
+Node: ExDialog184219
+Node: ExGrowing185481
+Node: ExModifying186283
+Node: ExBootable186784
+Node: ExCharset187333
+Node: ExPseudo188153
+Node: ExCdrecord189051
+Node: ExMkisofs189366
+Node: ExGrowisofs190704
+Node: ExException191839
+Node: ExTime192293
+Node: ExIncBackup192752
+Node: ExRestore196676
+Node: ExRecovery197634
+Node: Files198202
+Node: Seealso199500
+Node: Bugreport200088
+Node: Legal200669
+Node: CommandIdx201599
+Node: ConceptIdx216486

End Tag Table
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorriso.texi
^
|
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename xorriso.info
-@settitle GNU xorriso 1.1.2
+@settitle GNU xorriso 1.1.4
@c %**end of header
@c
@c man-ignore-lines begin
@@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
-@c man .TH XORRISO 1 "Version 1.1.2, Jul 08, 2011"
+@c man .TH XORRISO 1 "Version 1.1.4, Aug 7, 2011"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@@ -77,7 +77,7 @@
@end copying
@c man-ignore-lines end
@titlepage
-@title Manual of GNU xorriso 1.1.2
+@title Manual of GNU xorriso 1.1.4
@author Thomas Schmitt
@page
@vskip 0pt plus 1filll
@@ -86,7 +86,7 @@
@contents
@ifnottex
@node Top
-@top GNU xorriso 1.1.2
+@top GNU xorriso 1.1.4
@c man-ignore-lines 1
@c man .SH NAME
@@ -431,7 +431,7 @@
@*
Get a list of accessible drives by command
@*
- -devices
+ -device_links
@*
It might be necessary to do this as
@strong{superuser}
@@ -2469,16 +2469,20 @@
@item -list_speeds
@kindex -list_speeds lists available write speeds
@cindex Media, list write speeds, -list_speeds
-Put out a list of speed values as reported by the output drive for
-the loaded media. At the end of the list, "Write speed L" and "Write speed H"
-are the best guesses for lower and upper speed limit.
-@*
-"Write speed l" and "Write speed h" may appear only with CD
-and eventually override the list of other speed offers.
+Put out a list of speed values as reported by the output drive with
+the loaded media. This does not necessarily mean that the media is writable
+or that these speeds are actually achievable. Especially the
+lists reported with empty drive or with ROM media obviously advertise
+speeds for other media.
@*
It is not mandatory to use speed values out of the listed range.
The drive is supposed to choose a safe speed that is as near to the desired
speed as possible.
+@*
+At the end of the list, "Write speed L" and "Write speed H"
+are the best guesses for lower and upper speed limit.
+"Write speed l" and "Write speed h" may appear only with CD
+and eventually override the list of other speed offers.
@c man .TP
@item -close_damaged "as_needed"|"force"
@kindex -close_damaged closes damaged track and session
@@ -3608,6 +3612,19 @@
@*
Drives which are occupied by other processes get not shown.
@c man .TP
+@item -device_links
+@kindex -device_links gets list of drives
+@cindex Drive, get drive list, -device_links
+Like -devices, but presenting the drives with addresses of symbolic links
+which point to the actual device files.
+@*
+Modern GNU/Linux systems may shuffle drive addresses from boot to boot.
+The udev daemon is supposed to create links which always point to the
+same drive, regardless of its system address.
+The command -device_links shows the addresses of such links if they begin
+by "/dev/dvd" or "/dev/cd".
+Precedence is: "dvdrw", "cdrw", "dvd", "cdrom", "cd".
+@c man .TP
@item -toc
@*
@kindex -toc shows list of sessions
@@ -4055,6 +4072,10 @@
@item what="disc"
scans the payload range of a media without respecting track gaps.
@*
+@item what="image"
+similar to "disc", but restricts scanning to the range of the ISO 9660 image,
+if present.
+@*
@item min_lba=limit
omits all blocks with addresses lower than limit.
@*
@@ -4890,13 +4911,13 @@
"base,sys_devices" and to give r-permission to user or group.
@*
@sp 1
-$ xorriso -devices
+$ xorriso -device_links
@*
-0 -dev '/dev/sr0' rwrw@minus{}@minus{} : '_NEC ' 'DVD_RW ND-4570A'
+1 -dev '/dev/cdrom1' rwrw@minus{}@minus{} : 'TSSTcorp' 'DVD-ROM SH-D162C
@*
-1 -dev '/dev/sr1' rwrw@minus{}@minus{} : 'HL-DT-ST' 'DVDRAM GSA-4082B'
+1 -dev '/dev/cdrw' rwrw@minus{}@minus{} : 'TSSTcorp' 'CDDVDW SH-S223B'
@*
-2 -dev '/dev/sr2' rwrw@minus{}@minus{} : 'PHILIPS ' 'SPD3300L'
+2 -dev '/dev/cdrw3' rwrw@minus{}@minus{} : 'HL-DT-ST' 'BDDVDRW_GGC-H20L'
@c man .SS
@c man .B Blank media and compose a new ISO image as batch run
@node ExCreate, ExDialog, ExDevices, Examples
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorriso_eng.html
^
|
@@ -446,21 +446,21 @@
<P>
<DL>
<DT><H3>Download as source code (see README):</H3></DT>
-<DD><A HREF="xorriso-1.1.2.tar.gz">xorriso-1.1.2.tar.gz</A>
-(1920 KB).
+<DD><A HREF="xorriso-1.1.4.tar.gz">xorriso-1.1.4.tar.gz</A>
+(1930 KB).
</DD>
-<DD>(Released 8 Jul 2011)</DD>
-<DD><A HREF="xorriso-1.1.2.tar.gz.sig">xorriso-1.1.2.tar.gz.sig</A></DD>
+<DD>(Released 7 Aug 2011)</DD>
+<DD><A HREF="xorriso-1.1.4.tar.gz.sig">xorriso-1.1.4.tar.gz.sig</A></DD>
<DD>
(detached GPG signature for verification by
-<KBD>gpg --verify xorriso-1.1.2.tar.gz.sig xorriso-1.1.2.tar.gz</KBD>
+<KBD>gpg --verify xorriso-1.1.4.tar.gz.sig xorriso-1.1.4.tar.gz</KBD>
<BR>
after <KBD>gpg --keyserver keys.gnupg.net --recv-keys ABC0A854</KBD>).
</DD>
<DD>
Also on <A HREF="http://www.gnu.org/prep/ftp.html">
mirrors of ftp://ftp.gnu.org/gnu/ </A>
-as xorriso/xorriso-1.1.2.tar.gz
+as xorriso/xorriso-1.1.4.tar.gz
</DD>
</DL>
</DD>
@@ -495,14 +495,11 @@
<HR>
<P>
-Bug fixes towards xorriso-1.1.0.pl01:
+Bug fixes towards xorriso-1.1.2:
<UL>
-<LI>-update_r scheduled non-existing files for hardlink update</LI>
-<LI>
-Since 1.0.6: Unreadable image produced by: xorrisofs ... >image.iso
-<BR>
-(not by -o image.iso, or by pipe to consumer process)
-</LI>
+<LI>xorriso native mode on some drives wrote unreadble ISO images to CD</LI>
+<LI>-assert_volid did not work. Regression since version 1.1.0.</LI>
+<LI>-acl or -xattr worked with -extract only on Linux and FreeBSD</LI>
<!--
<LI>- none -</LI>
-->
@@ -514,20 +511,17 @@
Bug fixes in xorriso-1.1.0.pl01 towards xorriso-1.1.0:
<UL>
<LI>
-Due to a bug in libburn-1.1.0,
-GNU xorriso-1.1.0 compiled only on GNU/Linux, FreeBSD, and Solaris,
-but not on other systems
+
</LI>
</UL>
</P>
-->
<P>
-Enhancements towards previous stable version xorriso-1.1.0.pl01:
+Enhancements towards previous stable version xorriso-1.1.2:
<UL>
-<LI>New option -list_speeds</LI>
<LI>
-Enabled extraction of the boot catalog file to disk filesystem
+New option -device_links
</LI>
<!--
<LI>- none -</LI>
@@ -551,16 +545,16 @@
<A HREF="http://www.fsf.org/"> FSF </A> match completely.
</DT>
<DD> </DD>
-<DT>libburn-1.1.1</DT>
+<DT>libburn-1.1.4</DT>
<DD>reads and writes data from and to CD, DVD, BD.</DD>
<DD>(founded by Derek Foreman and Ben Jansens,
developed and maintained since August 2006 by
Thomas Schmitt from team of libburnia-project.org)</DD>
-<DT>libisofs-1.1.2</DT>
+<DT>libisofs-1.1.4</DT>
<DD>operates on ISO 9660 filesystem images.</DD>
<DD>(By Vreixo Formoso, Mario Danic and Thomas Schmitt
from team of libburnia-project.org)</DD>
-<DT>libisoburn-1.1.2</DT>
+<DT>libisoburn-1.1.4</DT>
<DD>coordinates libburn and libisofs, emulates multi-session where needed,
and hosts the original source code of program xorriso.</DD>
<DD>It provides the complete functionality of xorriso via
@@ -581,20 +575,18 @@
<P>
<DL>
-<DT><H3>Development snapshot, version 1.1.3 :</H3></DT>
-<DD>Bug fixes towards xorriso-1.1.2:
+<DT><H3>Development snapshot, version 1.1.5 :</H3></DT>
+<DD>Bug fixes towards xorriso-1.1.4:
<UL>
<LI>- none yet -</LI>
<!--
-<LI>- none yet -</LI>
-->
</UL>
</DD>
-<DD>Enhancements towards stable version 1.1.2:
+<DD>Enhancements towards stable version 1.1.4:
<UL>
<LI>- none yet -</LI>
<!--
-<LI>- none yet -</LI>
-->
</UL>
@@ -602,12 +594,12 @@
<DD> </DD>
-<DD><A HREF="README_xorriso_devel">README 1.1.3</A>
-<DD><A HREF="xorriso_help_devel">xorriso-1.1.3 -help</A></DD>
-<DD><A HREF="xorrisofs_help_devel">xorriso-1.1.3 -as mkisofs -help</A></DD>
-<DD><A HREF="xorrecord_help_devel">xorriso-1.1.3 -as cdrecord -help</A></DD>
-<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 1.1.3)</A></DD>
-<DD><A HREF="man_1_xorrisofs_devel.html">man xorrisofs (as of 1.1.3)</A></DD>
+<DD><A HREF="README_xorriso_devel">README 1.1.5</A>
+<DD><A HREF="xorriso_help_devel">xorriso-1.1.5 -help</A></DD>
+<DD><A HREF="xorrisofs_help_devel">xorriso-1.1.5 -as mkisofs -help</A></DD>
+<DD><A HREF="xorrecord_help_devel">xorriso-1.1.5 -as cdrecord -help</A></DD>
+<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 1.1.5)</A></DD>
+<DD><A HREF="man_1_xorrisofs_devel.html">man xorrisofs (as of 1.1.5)</A></DD>
<DD> </DD>
<DT>If you want to distribute development versions of xorriso, then use
this tarball which produces static linking between xorriso and the
@@ -617,8 +609,8 @@
installation see README)
</DD>
<DD>
-<A HREF="xorriso-1.1.3.tar.gz">xorriso-1.1.3.tar.gz</A>
-(1920 KB).
+<A HREF="xorriso-1.1.5.tar.gz">xorriso-1.1.5.tar.gz</A>
+(1930 KB).
</DD>
<DT>A dynamically linked development version of xorriso can be obtained
from repositories of
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorriso_main.c
^
|
@@ -111,7 +111,7 @@
*/
#define Xorriso_req_majoR 1
#define Xorriso_req_minoR 1
-#define Xorriso_req_micrO 2
+#define Xorriso_req_micrO 4
static void yell_xorriso()
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorriso_timestamp.h
^
|
@@ -1 +1 @@
-#define Xorriso_timestamP "2011.07.08.100001"
+#define Xorriso_timestamP "2011.08.08.070301"
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorrisoburn.h
^
|
@@ -19,7 +19,7 @@
*/
#define xorriso_libisoburn_req_major 1
#define xorriso_libisoburn_req_minor 1
-#define xorriso_libisoburn_req_micro 2
+#define xorriso_libisoburn_req_micro 4
struct SpotlisT; /* List of intervals with different read qualities */
@@ -55,6 +55,8 @@
int Xorriso__text_to_sev(char *severity_name, int *severity_number,int flag);
+int Xorriso__sev_to_text(int severity, char **severity_name, int flag);
+
/* @param flag bit0=report about output drive
bit1=short report form
bit2=do not try to read ISO heads
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorrisofs.1
^
|
@@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
-.TH XORRISOFS 1 "Version 1.1.2, Jul 8, 2011"
+.TH XORRISOFS 1 "Version 1.1.4, Aug 7, 2011"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@@ -427,6 +427,7 @@
.TP
\fB\-untranslated-filenames\fR
Alias of \-U.
+.TP
\fB\-untranslated_name_len\fR number
Allow ISO file names up to the given number of characters
without any character conversion. The maximum number is 96.
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorrisofs.info
^
|
@@ -14,7 +14,7 @@

File: xorrisofs.info, Node: Top, Next: Overview, Up: (dir)
-xorrisofs 1.1.2
+xorrisofs 1.1.4
***************
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso
|
[-]
[+]
|
Changed |
xorriso-1.1.4.tar.bz2/xorriso/xorrisofs.texi
^
|
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename xorrisofs.info
-@settitle GNU xorrisofs 1.1.2
+@settitle GNU xorrisofs 1.1.4
@c %**end of header
@c
@c man-ignore-lines begin
@@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
-@c man .TH XORRISOFS 1 "Version 1.1.2, Jul 8, 2011"
+@c man .TH XORRISOFS 1 "Version 1.1.4, Aug 7, 2011"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@@ -76,7 +76,7 @@
@end copying
@c man-ignore-lines end
@titlepage
-@title Manual of GNU xorriso personality xorrisofs 1.1.2
+@title Manual of GNU xorriso personality xorrisofs 1.1.4
@author Thomas Schmitt
@page
@vskip 0pt plus 1filll
@@ -85,7 +85,7 @@
@contents
@ifnottex
@node Top
-@top xorrisofs 1.1.2
+@top xorrisofs 1.1.4
@c man-ignore-lines 1
@c man .SH NAME
@@ -633,6 +633,7 @@
@item -untranslated-filenames
@kindex -untranslated-filenames very relaxed filename rules
Alias of -U.
+@c man .TP
@item -untranslated_name_len number
@kindex -untranslated_name_len untranslated file names
@cindex ISO file names, untranslated, -untranslated_name_len
|