Projects
Multimedia
vobcopy
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
vobcopy.changes
Changed
@@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Fri Apr 11 06:51:28 UTC 2025 - Bernhard M. Wiedemann <packmanbmw@lsmod.de> + +- update to 1.2.1 + +------------------------------------------------------------------- Sat Dec 20 16:17:24 UTC 2014 - seife+obs@b1-systems.com - fix license tag to allow build to succeed on openSUSE > 13.2
View file
vobcopy.spec
Changed
@@ -5,11 +5,13 @@ Summary(de): Vobcopy kopiert DVD .vob Dateien auf die Festplatte License: GPL-2.0+ Group: Productivity/Multimedia/Video/Editors and Convertors -URL: http://vobcopy.org/ -Version: 1.2.0 +URL: https://github.com/barak/vobcopy +Version: 1.2.1 Release: 2 -Source0: vobcopy-%{version}.tar.bz2 +Source0: https://github.com/barak/vobcopy/archive/refs/tags/%{version}.tar.gz#/vobcopy-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-root +BuildRequires: autoconf +BuildRequires: automake BuildRequires: glibc-devel BuildRequires: gcc #BuildRequires: libdvdread3 >= 0.9.7 @@ -32,8 +34,8 @@ %build export CFLAGS="${RPM_OPT_FLAGS}" - -./configure.sh \ +autoreconf -fi +./configure \ --prefix="%{_prefix}" \ --bindir="%{_bindir}" \ --mandir="%{_mandir}" \
View file
vobcopy-1.2.0.tar.bz2/Makefile
Deleted
@@ -1,71 +0,0 @@ - -#This is the makefile for vobcopy, mainly written by rosenauer. These things -#below here are variable definitions. They get substituted in the (CC) and -#stuff places. -DESTDIR = -CC ?= gcc -#PREFIX += /usr/local -#BINDIR = ${PREFIX}/bin -#MANDIR = ${PREFIX}/man -PREFIX += /usr/local -BINDIR = ${PREFIX}/bin -MANDIR = ${PREFIX}/man -DOCDIR = ${PREFIX}/share/doc/vobcopy -LFS = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -CFLAGS += -I/usr/local//include -LDFLAGS += -ldvdread -L/usr/local//lib - -#This specifies the conversion from .c to .o -.c.o: - $(CC) $(LFS) $(CFLAGS) -c $< - -#Here is implicitly said that for vobcopy to be made *.o has to be made first -#make is kinda intelligent in that aspect. -vobcopy: vobcopy.o dvd.o - $(CC) -o vobcopy vobcopy.o dvd.o ${LDFLAGS} - -disable_lfs: - $(CC) $(CFLAGS) -c vobcopy.c - $(CC) $(CFLAGS) -c dvd.c - $(CC) -o vobcopy vobcopy.o dvd.o -ldvdread - -debug: - $(CC) -c vobcopy.c -Wall -ggdb -pedantic $(CFLAGS) $(LFS) - $(CC) -c dvd.c -Wall -ggdb -pedantic $(CFLAGS) $(LFS) - $(CC) -o vobcopy vobcopy.o dvd.o -ldvdread - -deb: - - echo "this here is really really experimental..." - dpkg-buildpackage -rfakeroot -us -uc -tc - - -clean : - rm -f vobcopy vobcopy.o dvd.o - -distclean : - rm -f vobcopy.o dvd.o *~ - -install: -# mkdir -p $(MANDIR)/man1 -# cp vobcopy $(BINDIR)/vobcopy -# cp vobcopy.1 $(MANDIR)/man1/vobcopy.1 - install -d -m 755 $(DESTDIR)/$(BINDIR) - install -d -m 755 $(DESTDIR)/$(MANDIR)/man1 - install -d -m 755 $(DESTDIR)/$(MANDIR)/de/man1 - install -d -m 755 $(DESTDIR)/$(DOCDIR) - install -m 755 vobcopy $(DESTDIR)/$(BINDIR)/vobcopy - install -m 644 vobcopy.1 $(DESTDIR)/$(MANDIR)/man1/vobcopy.1 - install -m 644 vobcopy.1.de $(DESTDIR)/$(MANDIR)/de/man1/vobcopy.1 - install -m 644 COPYING Changelog README Release-Notes TODO $(DESTDIR)/$(DOCDIR) - -uninstall: - rm -f $(DESTDIR)/$(BINDIR)/vobcopy - rm -f $(DESTDIR)/$(MANDIR)/man1/vobcopy.1 - rm -f $(DESTDIR)/$(MANDIR)/de/man1/vobcopy.1 - rm -f $(DESTDIR)/$(DOCDIR)/{COPYING,Changelog,README,Release-Notes,TODO} - rmdir --parents $(DESTDIR)/$(BINDIR) 2>/dev/null - rmdir --parents $(DESTDIR)/$(MANDIR)/man1 2>/dev/null - rmdir --parents $(DESTDIR)/$(MANDIR)/de/man1 2>/dev/null - rmdir --parents $(DESTDIR)/$(DOCDIR) 2>/dev/null -
View file
vobcopy-1.2.0.tar.bz2/configure.sh
Deleted
@@ -1,249 +0,0 @@ -#!/bin/sh -#hope this thing works across all systems, otherwise mail me please: -#robos@muon.de - - -echo "THIS CONFIGURE SCRIPT IS STILL HIGHLY EXPERIMENTAL! -If you think you found a bug, please mail me, thanks! robos@muon.de" - -#This is the makefile generator for vobcopy, -#The original makefile was written by rosenauer. These things -#below here are variable definitions. They get substituted in the (CC) and -#stuff places. - - -#args check *new* -#declare -i i=0 -if $# != 0 -then - while $# != 0 - do - - if "$1" != "${1#--prefix=}" ; then - prefix="${1#--prefix=}" - prefix_provided=true - echo "prefix = $prefix" - fi - - if "$1" != "${1#--bindir=}" ; then - bindir="${1#--bindir=}" - bindir_provided=true - echo "bindir here: $bindir" - fi - - if "$1" != "${1#--mandir=}" ; then - mandir="${1#--mandir=}" - mandir_provided=true - echo "with mandir here: $mandir" - fi - - if "$1" != "${1#--docdir=}" ; then - docdir="${1#--docdir=}" - docdir_provided=true - echo "with docdir here: $docdir" - fi - - if "$1" != "${1#--with-lfs}" ; then - echo "with large-file support" - LFS="LFS = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" - lfs_provided=true - fi - - if "$1" != "${1#--with-dvdread-libs=}" ; then - libs_dir="${1#--with-dvdread-libs=}" - libs_dir_provided=true - echo "with dvdread-libs here: $libs_dir" - fi - - if "$1" != "${1%help}" ; then - echo "--prefix=PREFIX install architecture-independent files in PREFIX /usr/local" - echo "--bindir=DIR user executables in DIR PREFIX/bin" - echo "--mandir=DIR man documentation in DIR PREFIX/bin" - echo "--docdir=DIR package documentation in DIR PREFIX/share/doc/vobcopy" - echo "--with-dvdread-libs=DIR directory where dvdread lib (dvd_reader.h) is installed" - echo "--with-lfs Enable large File System support" - exit 1 - fi - shift 1 - done -fi - -if -z $prefix_provided -then - prefix=/usr/local -fi - -if -z $mandir_provided -then - mandir=\${PREFIX}/man -fi - -if -z $docdir_provided -then - docdir=\${PREFIX}/share/doc/vobcopy -fi - -if -z $bindir_provided -then - bindir=\${PREFIX}/bin -fi - - -#see if libdvdread is installed -if -z $libs_dir_provided -then - - if ! -e /usr/local/include/dvdread ; then - if ! -e /usr/include/dvdread ; then #muss hier das then hin?? - echo "Do you have libdvdread installed? I (the script) can't -find it" - echo "You probably need the libdvdread-devel package or something similar installed. If you already have:" - echo "Please provide the path to dvdreader.h after -./configure --with-dvdread-libs=" - echo "And please mail me the location so that I can fix the -makefile to robos@muon.de, thanks!" - exit 1 - else - echo "libdvdread found" - libs_dir=/usr/ -# libs_dir=/usr/include - fi - else - echo "libdvdread found" - libs_dir=/usr/local/ -# libs_dir=/usr/local/include - fi -else -# Remove the following if...fi if the program complains about non-existing -# headers when they really are there... - if ! -e $libs_dir/include/dvdread ; then - echo "You specified that libdvdread is installed at $libs_dir. However" - echo "I (the script) am unable to find the header files at" - echo "$libs_dir/include/dvdread." - echo "If they really are there, edit the configure.sh and remove" - echo "this check." - exit 1 - fi -fi - - -#I hope this is a test to see if the system is largefile ready -if -z $lfs_provided -then - if grep "ftello64" /usr/include/stdio.h >/dev/null 2>&1 - then - echo "largefile support found" - LFS="LFS = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" - else - echo "no large-file support found (by me, the stupid script)" - echo "large file support is necessary if you want to output files - larger than 2GB" - echo "please append --with-lfs to ./configure, else lfs is disabled" - LFS="LFS =" - fi -fi - - -#FreeBSD needs libgnugetopt (kern.osreldate < 500041) -#if `uname -s` = FreeBSD -a \ -# `sysctl -n kern.osreldate 2> /dev/null` -lt 500041 ; then -if `uname -s` = FreeBSD ; then - if `sysctl -n kern.osreldate 2> /dev/null` -lt 500041 ; then - LDFLAGS="LDFLAGS += -ldvdread -L/usr/local/lib -lgnugetopt" - else - LDFLAGS="LDFLAGS += -ldvdread -L$libs_dir/lib" - fi -elif `uname -m` = x86_64 ; then #for ia64/AMD64 libraries - LDFLAGS="LDFLAGS += -ldvdread -L$libs_dir/lib64" -else - LDFLAGS="LDFLAGS += -ldvdread -L$libs_dir/lib" -fi - -#Solaris 9 needs -lrt -if `uname -a | grep "SunOS solaris 5.9" ` ; then - LDFLAGS="+LDFLAGS += -ldvdread -lrt -L/usr//lib" -fi - - - -#see if a Makefile is present - and kill it ;-) -if -e ./Makefile ; then - rm -f ./Makefile -fi - -#write the Makefile -touch Makefile - -echo " -#This is the makefile for vobcopy, mainly written by rosenauer. These things -#below here are variable definitions. They get substituted in the (CC) and -#stuff places. -DESTDIR = -CC ?= gcc -#PREFIX += /usr/local -#BINDIR = \${PREFIX}/bin -#MANDIR = \${PREFIX}/man -PREFIX += $prefix -BINDIR = $bindir -MANDIR = $mandir -DOCDIR = $docdir -$LFS -CFLAGS += -I$libs_dir/include -$LDFLAGS - -#This specifies the conversion from .c to .o -.c.o: - \$(CC) \$(LFS) \$(CFLAGS) -c \$< - -#Here is implicitly said that for vobcopy to be made *.o has to be made first -#make is kinda intelligent in that aspect.
View file
vobcopy-1.2.0.tar.bz2/vobcopy.pot
Deleted
@@ -1,873 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-03-31 23:48+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: vobcopy.c:189 -#, c-format -msgid "Error The thing behind -a has to be a number! \n" -msgstr "" - -#: vobcopy.c:196 -#, c-format -msgid "Hint Um, you set angle to 0, try 1 instead ;-)\n" -msgstr "" - -#: vobcopy.c:204 -#, c-format -msgid "Error The thing behind -b has to be a number! \n" -msgstr "" - -#: vobcopy.c:211 vobcopy.c:234 vobcopy.c:265 vobcopy.c:287 -#, c-format -msgid "Error Wrong suffix behind -b, only b,k,m or g \n" -msgstr "" - -#: vobcopy.c:248 -#, c-format -msgid "Error The thing behind -c has to be a number! \n" -msgstr "" - -#: vobcopy.c:258 -#, c-format -msgid "Error The thing behind -e has to be a number! \n" -msgstr "" - -#: vobcopy.c:310 -#, c-format -msgid "Error Erm, the number comes behind -n ... \n" -msgstr "" - -#: vobcopy.c:313 -#, c-format -msgid "" -"Hint You use -i. Normally this is not necessary, vobcopy finds the input " -"dir by itself. This option is only there if vobcopy makes trouble.\n" -msgstr "" - -#: vobcopy.c:314 -#, c-format -msgid "" -"Hint If vobcopy makes trouble, please mail me so that I can fix this " -"(robos@muon.de). Thanks\n" -msgstr "" - -#: vobcopy.c:318 -#, c-format -msgid "" -"Error Please don't use -i /dev/something in this version, only the next " -"version will support this again.\n" -msgstr "" - -#: vobcopy.c:319 -#, c-format -msgid "" -"Hint Please use the mount point instead (/cdrom, /dvd, /mnt/dvd or " -"something)\n" -msgstr "" - -#: vobcopy.c:340 -#, c-format -msgid "Error The thing behind -n has to be a number! \n" -msgstr "" - -#: vobcopy.c:350 vobcopy.c:382 -#, c-format -msgid "Hint Erm, the number comes behind -n ... \n" -msgstr "" - -#: vobcopy.c:376 -#, c-format -msgid "Error Please specify output dirs in this order: -o -1 -2 -3 -4 \n" -msgstr "" - -#: vobcopy.c:410 -#, c-format -msgid "Error The thing behind -F has to be a number! \n" -msgstr "" - -#: vobcopy.c:416 -#, c-format -msgid "" -"Hint The largest value for -F is %d at the moment - used that one...\n" -msgstr "" - -#: vobcopy.c:427 -#, c-format -msgid "Error The thing behind -w has to be a number! \n" -msgstr "" - -#: vobcopy.c:433 -#, c-format -msgid "Hint Negative minutes aren't allowed - disabling watchdog.\n" -msgstr "" - -#: vobcopy.c:479 vobcopy.c:493 -#, c-format -msgid "Error Wrong option.\n" -msgstr "" - -#: vobcopy.c:486 -#, c-format -msgid "Error %s was compiled without support for long options.\n" -msgstr "" - -#: vobcopy.c:499 vobcopy.c:2022 -#, c-format -msgid "Vobcopy " -msgstr "" - -#: vobcopy.c:500 -#, c-format -msgid "" -"Hint All lines starting with \"libdvdread:\" are not from vobcopy but from " -"the libdvdread-library\n" -msgstr "" - -#: vobcopy.c:511 -#, c-format -msgid "" -"\n" -"Error Hmm, the path length of your current directory is really large " -"(>255)\n" -msgstr "" - -#: vobcopy.c:512 -#, c-format -msgid "Hint Change to a path with shorter path length pleeeease ;-)\n" -msgstr "" - -#: vobcopy.c:526 -#, c-format -msgid "Hint Quiet mode - All messages will now end up in %s\n" -msgstr "" - -#: vobcopy.c:575 -#, c-format -msgid "Info Uhu, super-verbose\n" -msgstr "" - -#: vobcopy.c:615 -#, c-format -msgid "Info The log-file is written to %s\n" -msgstr "" - -#: vobcopy.c:616 -#, c-format -msgid "" -"Hint Make sure that vobcopy doesn't have to ask questions (like " -"overwriting of old files), these questions end up in the log file so you " -"don't see them...\n" -msgstr "" - -#: vobcopy.c:617 -#, c-format -msgid "" -"Hint If you don't like that position, use -L /path/to/logfile/ instead of -" -"v -v\n" -msgstr "" - -#: vobcopy.c:633 -#, c-format -msgid "--------------------------------------------------------------------------------\n" -msgstr "" - -#: vobcopy.c:634 -#, c-format -msgid "Info Called: %s\n" -msgstr "" - -#: vobcopy.c:640 -#, c-format -msgid "" -"\n" -"Error There can be only one: either -m or -n...'\n" -msgstr "" -
View file
vobcopy-1.2.1.tar.gz/.gitignore
Added
@@ -0,0 +1,66 @@ +*.o +/.deps/ +/ABOUT-NLS +/aclocal.m4 +/autom4te.cache/ +/compile +/config.guess +/config.h +/config.h.in +/config.log +/config.rpath +/config.status +/config.sub +/configure +/depcomp +/install-sh +/intl/ +/m4/codeset.m4 +/m4/fcntl-o.m4 +/m4/gettext.m4 +/m4/glibc2.m4 +/m4/glibc21.m4 +/m4/iconv.m4 +/m4/intdiv0.m4 +/m4/intl.m4 +/m4/intldir.m4 +/m4/intlmacosx.m4 +/m4/intmax.m4 +/m4/inttypes-pri.m4 +/m4/inttypes_h.m4 +/m4/lcmessage.m4 +/m4/lib-ld.m4 +/m4/lib-link.m4 +/m4/lib-prefix.m4 +/m4/lock.m4 +/m4/longlong.m4 +/m4/nls.m4 +/m4/po.m4 +/m4/printf-posix.m4 +/m4/progtest.m4 +/m4/size_max.m4 +/m4/stdint_h.m4 +/m4/threadlib.m4 +/m4/uintmax_t.m4 +/m4/visibility.m4 +/m4/wchar_t.m4 +/m4/wint_t.m4 +/m4/xsize.m4 +/missing +/po/Makefile.in.in +/po/Makevars.template +/po/POTFILES +/po/Rules-quot +/po/boldquot.sed +/po/en@boldquot.header +/po/en@quot.header +/po/insert-header.sin +/po/quot.sed +/po/remove-potcdate.sed +/po/remove-potcdate.sin +/po/stamp-po +/po/vobcopy.pot +/stamp-h1 +/vobcopy +Makefile +Makefile.in
View file
vobcopy-1.2.1.tar.gz/ChangeLog
Added
@@ -0,0 +1,6 @@ +2012-01-26 gettextize <bug-gnu-gettext@gnu.org> + + * Makefile.am (SUBDIRS): New variable. + (ACLOCAL_AMFLAGS): New variable. + (EXTRA_DIST): Add config.rpath, m4/ChangeLog. + * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in.
View file
vobcopy-1.2.1.tar.gz/Makefile.am
Added
@@ -0,0 +1,24 @@ +ACLOCAL_AMFLAGS = -I m4 +SUBDIRS = po + +bin_PROGRAMS = vobcopy + +vobcopy_SOURCES = dvd.c vobcopy.c dvd.h vobcopy.h + +dist_man_MANS = vobcopy.1 +man1dedir = $(mandir)/de/man1 +man1de_DATA = intl/de/vobcopy.1 + +EXTRA_DIST = m4/ChangeLog vobcopy.mo vobcopy.pot vobcopy.spec vobcopy.1.de + +dist_doc_DATA = alternative_programs.txt Changelog README Release-Notes TODO COPYING + +intl/de/vobcopy.1: vobcopy.1.de + $(MKDIR_P) intl/de + ln $< $@ + +MOSTLYCLEANFILES = intl/de/vobcopy.1 + +mostlyclean-local: + -rmdir intl/de + -rmdir intl
View file
vobcopy-1.2.1.tar.gz/configure.ac
Added
@@ -0,0 +1,44 @@ +# Process this file with autoconf to produce a configure script. + +# header +AC_PREREQ(2.69) +AC_INIT(vobcopy,1.2.0,Robos <robos@muon.de>,vobcopy,http://vobcopy.org) +AC_CONFIG_SRCDIR(vobcopy.c) +AC_CONFIG_MACRO_DIR(m4) +AC_CONFIG_HEADERS(config.h) + +# Enable automake +AM_INIT_AUTOMAKE(foreign -Wall) + +# Internationalization support +AM_GNU_GETTEXT(external) +AM_GNU_GETTEXT_VERSION(0.20) + +# Checks for programs. +AC_PROG_CC +AX_CFLAGS_WARN_ALL +AC_PROG_LN_S +AC_PROG_MKDIR_P + +# Checks for libraries. +AC_SEARCH_LIBS(DVDOpen, dvdread,,AC_MSG_ERROR(libdvdread not found)) + +# Checks for header files. +AC_CHECK_HEADERS(fcntl.h libintl.h features.h locale.h mntent.h stdint.h stdlib.h string.h sys/ioctl.h sys/mount.h sys/param.h sys/statfs.h sys/statvfs.h sys/vfs.h termios.h unistd.h getopt.h sys/mnttab.h assert.h dirent.h) + +# Checks for typedefs, structures, and compiler characteristics. +AC_HEADER_STDBOOL +AC_TYPE_OFF_T +AC_TYPE_SIZE_T +AC_TYPE_SSIZE_T + +# Checks for library functions. +AC_FUNC_FSEEKO +AC_SYS_LARGEFILE +AC_FUNC_GETMNTENT +AC_FUNC_MALLOC +AC_CHECK_FUNCS(alarm fdatasync getcwd getmntent getmntinfo memset mkdir setlocale strcasecmp strerror strpbrk strstr getopt_long) + +# trailer +AC_CONFIG_FILES(Makefile po/Makefile.in) +AC_OUTPUT
View file
vobcopy-1.2.0.tar.bz2/dvd.c -> vobcopy-1.2.1.tar.gz/dvd.c
Changed
@@ -109,6 +109,7 @@ #if ( !defined( __sun ) ) FILE *tmp_streamin; + FILE *tmp_streamin_fuseiso; char tmp_bufferin MAX_STRING ; char tmp_path 256 ; int l = 0; @@ -117,6 +118,8 @@ #if (defined(__linux__)) struct mntent* lmount_entry; + struct mntent* lmount_entry_fuseiso; + #endif #if ( defined( __sun ) ) @@ -257,6 +260,30 @@ } } endmntent(tmp_streamin); + + if (strcmp(lmount_entry->mnt_fsname, "fuseiso") == 0) { + fprintf ( stderr, "Info Fuseiso detected. I'm looking for the iso file\n"); + // The directory is mounted by fuseiso. Here we try get the name & path of the ISO + char *homedir; + if ((homedir = getenv("HOME")) == NULL) { + // TODO + //homedir = getpwuid(getuid())->pw_dir; + } + + if ((tmp_streamin_fuseiso = setmntent(strcat(homedir,"/.mtab.fuseiso"), "r"))){ + while ((lmount_entry_fuseiso = getmntent(tmp_streamin_fuseiso))){ + if (strcmp(lmount_entry_fuseiso->mnt_dir, path) == 0){ + /* Found the mount point */ + fprintf ( stderr, "Info Device %s mounted on %s\n", lmount_entry_fuseiso->mnt_fsname, lmount_entry_fuseiso->mnt_dir); + strcpy(device, lmount_entry_fuseiso->mnt_fsname); + mounted = TRUE; + break; + } + } + endmntent(tmp_streamin_fuseiso); + } + } + if (mounted) { /* device was set from /etc/mtab, no need to further check @@ -584,7 +611,7 @@ path_to_vobs1278, path_to_vobs2278, path_to_vobs3278; - char stat_path278; + char stat_path300; int subvob; FILE *tmp_streamin1; struct stat buf; @@ -604,7 +631,7 @@ /* * extract the size of the files on dvd using stat */ - sprintf( stat_path, "%s_1.vob", path_to_vobs ); + snprintf( stat_path, sizeof(stat_path), "%s_1.vob", path_to_vobs ); if( ( tmp_streamin1 = fopen( stat_path, "r" ) ) != NULL ) /*check if this path is correct*/ { @@ -614,14 +641,14 @@ { /* adjust path for next subvob */ subvob++; - sprintf( stat_path, "%s_%d.vob", path_to_vobs, subvob ); + snprintf( stat_path, sizeof(stat_path), "%s_%d.vob", path_to_vobs, subvob ); vob_size += buf.st_size; } return ( off_t ) vob_size; } - sprintf( stat_path, "%s_1.VOB", path_to_vobs1 ); + snprintf( stat_path, sizeof(stat_path), "%s_1.VOB", path_to_vobs1 ); if( ( tmp_streamin1 = fopen( stat_path, "r" ) ) != NULL ) /*check if this path is correct */ { fclose ( tmp_streamin1 ); @@ -630,14 +657,14 @@ { /* adjust path for next subvob */ subvob++; - sprintf( stat_path, "%s_%d.VOB", path_to_vobs1, subvob ); + snprintf( stat_path, sizeof(stat_path), "%s_%d.VOB", path_to_vobs1, subvob ); vob_size += buf.st_size; } return ( off_t ) vob_size; } - sprintf( stat_path, "%s_1.VOB", path_to_vobs2 ); + snprintf( stat_path, sizeof(stat_path), "%s_1.VOB", path_to_vobs2 ); if( ( tmp_streamin1 = fopen( stat_path, "r" ) ) != NULL ) /*check if this path is correct */ { fclose ( tmp_streamin1 ); @@ -662,7 +689,7 @@ { /* adjust path for next subvob */ subvob++; - sprintf( stat_path, "%s_%d.vob", path_to_vobs3, subvob ); + snprintf( stat_path, sizeof(stat_path), "%s_%d.vob", path_to_vobs3, subvob ); vob_size += buf.st_size; } return ( off_t ) vob_size;
View file
vobcopy-1.2.1.tar.gz/m4
Added
+(directory)
View file
vobcopy-1.2.1.tar.gz/m4/ChangeLog
Added
@@ -0,0 +1,10 @@ +2012-01-26 gettextize <bug-gnu-gettext@gnu.org> + + * gettext.m4: New file, from gettext-0.18.1. + * iconv.m4: New file, from gettext-0.18.1. + * lib-ld.m4: New file, from gettext-0.18.1. + * lib-link.m4: New file, from gettext-0.18.1. + * lib-prefix.m4: New file, from gettext-0.18.1. + * nls.m4: New file, from gettext-0.18.1. + * po.m4: New file, from gettext-0.18.1. + * progtest.m4: New file, from gettext-0.18.1.
View file
vobcopy-1.2.1.tar.gz/po
Added
+(directory)
View file
vobcopy-1.2.1.tar.gz/po/Makevars
Added
@@ -0,0 +1,41 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES =
View file
vobcopy-1.2.1.tar.gz/po/POTFILES.in
Added
@@ -0,0 +1,3 @@ +# List of source files which contain translatable strings. +dvd.c +vobcopy.c
View file
vobcopy-1.2.0.tar.bz2/vobcopy.1 -> vobcopy-1.2.1.tar.gz/vobcopy.1
Changed
@@ -5,31 +5,31 @@ .SH NAME vobcopy \- copy (rip) files from a dvd to the harddisk .SH SYNOPSIS -.B vobcopy -b +.B vobcopy \-b .I sizebkmg -.B -e +.B \-e .I sizebkmg -.B -f -F +.B \-f \-F .I fast_factor -.B -h -i +.B \-h \-i .I input-dir -.B -l -m -M-n +.B \-l \-m \-M\-n .I title-number -.B -o +.B \-o .I output-dir -.B -q -O +.B \-q \-O .I single_file(s)_to_rip -.B -t +.B \-t .I name -.B -v -v -x -I -V -L +.B \-v \-v \-x \-I \-V \-L .I logfile-path -.B -1 +.B \-1 .I aux_output_dir1 -.B -2 +.B \-2 .I aux_output_dir2 -.B -3 +.B \-3 .I aux_output_dir3 -.B -4 +.B \-4 .I aux_output_dir4 .B .SH DESCRIPTION @@ -56,54 +56,54 @@ without any options will copy the title with the most chapters into files of 2GB size into the current working directory. .SH OPTIONS -.IP "-b, --begin SIZEbkmg" -begins to copy from the specified offset-size. Modifiers like b for 512-bytes, k for kilo-bytes, m for mega- and g for giga-bytes can be appended to the number. Example: vobcopy -b 500m will start to copy from 500MB onward till the end. -.IP "-e, --end SIZEbkmg" -similar to -b, this options lets you specify some size to stop before the end. -.IP "-f, --force" +.IP "\-b, \-\-begin SIZEbkmg" +begins to copy from the specified offset-size. Modifiers like b for 512-bytes, k for kilo-bytes, m for mega- and g for giga-bytes can be appended to the number. Example: vobcopy \-b 500m will start to copy from 500MB onward till the end. +.IP "\-e, \-\-end SIZEbkmg" +similar to \-b, this options lets you specify some size to stop before the end. +.IP "\-f, \-\-force" force the output to the specified directory even if vobcopy thinks there is not enough free space -.IP "-F, --fast fast_factor" +.IP "\-F, \-\-fast fast_factor" speed up the copying (experimental). fast_factor is in the range 1 to 64 -.IP "-h, --help" +.IP "\-h, \-\-help" print the command line options available -.IP "-i, --input-dir INPUT-DIR" +.IP "\-i, \-\-input\-dir INPUT-DIR" provide vobcopy with the path to the mounted dvd drive -.IP "-l, --large-file" +.IP "\-l, \-\-large\-file" write data into one file (needs large file support (LFS)) -.IP "-M, --longest" +.IP "\-M, \-\-longest" choose the title with the longest playing time. With some DVDs this gets the main title better than the most chapter method, with others it's worse. -.IP "-m, --mirror" +.IP "\-m, \-\-mirror" mirrors the whole dvd to harddisk. It will create a directory named after the dvd and copy the ifo, bup and vob files there. The title-vobs are decrypted during this. -.IP "-n, --title-number TITLE-NUMBER" +.IP "\-n, \-\-title\-number TITLE-NUMBER" specify which title vobcopy shall copy (default is title with most chapters). On the dvd, vts_01_x.vob specify the first title (mostly this is the main feature). -.IP "-o, --output-dir OUTPUT-DIR" -specify the output-directory of the data. "stdout" or "-" redirect to stdout. Useful for pipeing it to /dev/null ;-) If you forget to pipe it to some place, your terminal will get garbled, so remember that typing "reset" and then Enter will rescue you. -.IP "-q, --quiet" +.IP "\-o, \-\-output\-dir OUTPUT-DIR" +specify the output-directory of the data. "stdout" or "\-" redirect to stdout. Useful for pipeing it to /dev/null ;-) If you forget to pipe it to some place, your terminal will get garbled, so remember that typing "reset" and then Enter will rescue you. +.IP "\-q, \-\-quiet" all info- and error-messages of vobcopy will end up in the current directory in vobcopy.bla instead of stderr -.IP "-O, --onefile single_file(s)_to_rip" +.IP "\-O, \-\-onefile single_file(s)_to_rip" specify which single file(s) to rip. Parts of names can be given and all files which include the part will be copied. Files can be listed with comma -separation. Example: -O video_ts.vob,bup will copy the single file video_ts.vob and all files containing bup -.IP "-t, --name NAME" -you can give the file a name if you don't like the one from dvd. -t hallo will result in hallo.vob. (stdout or "-" are deprecated now) +separation. Example: \-O video_ts.vob,bup will copy the single file video_ts.vob and all files containing bup +.IP "\-t, \-\-name NAME" +you can give the file a name if you don't like the one from dvd. \-t hallo will result in hallo.vob. (stdout or "\-" are deprecated now) If you want to give it names like "Huh I like this movie", do it in quotation marks. -.IP "-v, --verbose" +.IP "\-v, \-\-verbose" prints more information about whats going on (more verbose). -.IP "-v -v" +.IP "\-v \-v" prints the information given on command line into a log-file in the current directory for inclusion into a bugreport. -.IP "-x" +.IP "\-x" overwrite all existing files without further questions. -.IP "-L LOGFILE-PATH" +.IP "\-L LOGFILE-PATH" tells vobcopy where to put the logfile instead of the default. -.IP "-I, --info" +.IP "\-I, \-\-info" prints information about the titles, chapters and angles on the dvd. -.IP "-V, --version" +.IP "\-V, \-\-version" prints version number. -.IP "-1, --1st_alt_output_dir AUXILIARY-OUTPUT-DIR1" -if the data doesn't fit on the first output-directory (specified behind -o) -writing will continue here (and after -2 there and -3 and -4) -> the files will be split according to the remaining free space (try specifying the path _directly_ behind -1, _no_ space in between if you have troubles, this might be even necessary at -o...) +.IP "\-1, \-\-1st_alt_output_dir AUXILIARY-OUTPUT-DIR1" +if the data doesn't fit on the first output-directory (specified behind \-o) +writing will continue here (and after \-2 there and \-3 and \-4) -> the files will be split according to the remaining free space (try specifying the path _directly_ behind \-1, _no_ space in between if you have troubles, this might be even necessary at \-o...) .SH BUGS Vobcopy is still under development. So expect some. There *might* be problems for users who's system is not large-file ready. If so, please get back to me.
View file
vobcopy-1.2.0.tar.bz2/vobcopy.1.de -> vobcopy-1.2.1.tar.gz/vobcopy.1.de
Changed
@@ -6,31 +6,31 @@ .SH NAME vobcopy \- kopiert (rippt) Dateien von einer (Video-) DVD auf die Festplatte .SH SYNTAX -.B vobcopy -b +.B vobcopy \-b .I Größebkmg -.B -e +.B \-e .I Größebkmg -.B -f -F +.B \-f \-F .I Beschleunigungsfaktor -.B -h -i +.B \-h \-i .I Eingabeverzeichnis -.B -l -m -m-n +.B \-l \-m \-m\-n .I Titel-Nummer -.B -o +.B \-o .I Ausgabeverzeichnis -.B -q -O +.B \-q \-O .I einzelne zu kopierende Datei -.B -t +.B \-t .I Name -.B -v -v -x -I -V -L +.B \-v \-v \-x \-I \-V \-L .I Logdatei-Pfad -.B -1 +.B \-1 .I zusätzliches Ausgabeverzeichnis 1 -.B -2 +.B \-2 .I zusätzliches Ausgabeverzeichnis 2 -.B -3 +.B \-3 .I zusätzliches Ausgabeverzeichnis 3 -.B -4 +.B \-4 .I zusätzliches Ausgabeverzeichnis 4 .B .SH Beschreibung @@ -53,76 +53,76 @@ Beim Aufruf ohne jegliche Optionen wird der Titel mit den meisten Kapiteln in Dateien von 2GB Größe in das aktuelle Verzeichnis kopiert. .SH OPTIONEN -.IP "-b, --begin GRÖSSEbkmg" +.IP "\-b, \-\-begin GRÖSSEbkmg" beginnt den Kopiervorgang erst ab der angegebenen Adresse. Die Größe der Adresse kann mit den Abkürzungen b für 512-Byte-Blöcke, k für Kilobytes, m für Mega- und g für Gigabytes angegeben werden. -Beispiel: vobcopy -b 500m beginnt bei 500MB nach dem Anfang der Datei +Beispiel: vobcopy \-b 500m beginnt bei 500MB nach dem Anfang der Datei bis zum Ende zu kopieren. -.IP "-e, --end GRÖSSEbkmg" -ähnlich wie -b gibt diese Option eine Größe vor dem Ende der Datei an, +.IP "\-e, \-\-end GRÖSSEbkmg" +ähnlich wie \-b gibt diese Option eine Größe vor dem Ende der Datei an, an der der Kopiervorgang stoppt. -.IP "-f, --force" +.IP "\-f, \-\-force" erzwingt die Ausgabe in das angegebene Verzeichnis, auch wenn vobcopy denkt, dass dort ist nicht genügend freier Platz vorhanden ist. -.IP "-F, --fast Beschleunigungsfaktor" +.IP "\-F, \-\-fast Beschleunigungsfaktor" beschleunigt das Kopieren um einen Faktor (experimentell). Der Beschleunigungsfaktor kann 1 bis 64 betragen -.IP "-h, --help" +.IP "\-h, \-\-help" Gibt die verfügbaren Optionen aus -.IP "-i, --input-dir EINGABE-VERZEICHNIS" +.IP "\-i, \-\-input\-dir EINGABE-VERZEICHNIS" gibt das Eingabeverzeichnis an (das Verzeichnis, auf das die DVD gemountet ist). -.IP "-l, --large-file" +.IP "\-l, \-\-large\-file" schreibt alle Daten in eine große Datei ( > 2GB, benötigt Unterstützung für große Dateien (LFS)) -.IP "-M, --longest" +.IP "\-M, \-\-longest" wählt den Titel mit der längsten Spielzeit. Bei manchen DVDs wird der Hauptfilm besser gefunden als mit der Methode der meisten Kapitel, bei manchen schlechter. -.IP "-m, --mirror" +.IP "\-m, \-\-mirror" Spiegelt die gesamte DVD auf die Festplatte. Es wird ein Unterverzeichnis mit dem DVD-Namen erzeugt und die gesamte Dateistruktur des Videoteils wird darunter kopiert. -.IP "-n, --title-number TITEL-NUMMER" +.IP "\-n, \-\-title\-number TITEL-NUMMER" gibt an, welcher Titel kopiert werden soll. Auf der DVD heißt der erste Titel vts_01_x.vob (meist der Hauptfilm). -.IP "-o, --output-dir AUSGABE-VERZEICHNIS" -gibt das Ausgabeverzeichnis für die Kopien an. Der Wert "stdout" oder "-" +.IP "\-o, \-\-output\-dir AUSGABE-VERZEICHNIS" +gibt das Ausgabeverzeichnis für die Kopien an. Der Wert "stdout" oder "\-" gibt auf der Standardausgabe aus. Nützlich für die Ausgabe nach /dev/null ;-) Tipp: Wenn du vergisst umzuleiten, wird dein Terminal überflutet werden, in diesem Fall tippe "reset" und Enter, um das Terminal zu retten. -.IP "-q, --quiet" +.IP "\-q, \-\-quiet" alle Informations- und Fehlerausschriften von vobcopy werden in die Datei vobcopy.bla im aktuellen Verzeichnis anstatt in die Standardfehlerausgabe geschrieben -.IP "-O, --onefile single_file(s)_to_rip" +.IP "\-O, \-\-onefile single_file(s)_to_rip" gibt (eine) einzelne Datei(en) für das Kopieren an. Teile von Namen können angegeben werden und alle Dateien, die die Namensteile enthalten, werden kopiert. Dateinamen können als mit Komma getrennte Liste angegeben werden. -Beispiel: -O video_ts.vob,bup kopiert die Datei video_ts.vob und alle Dateien, +Beispiel: \-O video_ts.vob,bup kopiert die Datei video_ts.vob und alle Dateien, deren Namen bup enthält. -.IP "-t, --name NAME" +.IP "\-t, \-\-name NAME" Damit kann man der Ausgabedatei einen eigenen Namen geben, wenn einem der von -der DVD nicht gefällt. -t hallo erzeugt also ein hallo.vob. (stdout oder "-" sind nun +der DVD nicht gefällt. \-t hallo erzeugt also ein hallo.vob. (stdout oder "\-" sind nun nicht mehr unterstützt) Wenn du Namen mit Leerzeichen wie "Huh ich mag den Film" angeben willst, schließe den Namen in Anführungszeichen ein. -.IP "-v, --verbose" +.IP "\-v, \-\-verbose" schreibt noch mehr Informationen aus. -.IP "-v -v" +.IP "\-v \-v" schreibt die Ausschriften in eine Logdatei im aktuellen Verzeichis um einen Fehlerreport zu erzeugen. -.IP "-x" +.IP "\-x" überschreibt alle existierenden Dateien ohne weitere Rückfragen. -.IP "-L LOGDATEI-PFAD" +.IP "\-L LOGDATEI-PFAD" weist vobcopy an die Logdatei statt in den Standardpfad in den LOGDATEI-PFAD zu legen. -.IP "-I, --info" +.IP "\-I, \-\-info" gibt Informationen über die Titel, Kapitel und Teile der DVD aus. -.IP "-V, --version" +.IP "\-V, \-\-version" gibt die Versionsnummer von vobcopy aus. -.IP "-1, --1st_alt_output_dir AUXILIARY-OUTPUT-DIR1" +.IP "\-1, \-\-1st_alt_output_dir AUXILIARY-OUTPUT-DIR1" Wenn die DVD einfach nicht in das erste Ausgabeverzeichnis passen will -(mit -o angegeben), geht die Ausgabe in das hier angegebene Verzeichnis +(mit \-o angegeben), geht die Ausgabe in das hier angegebene Verzeichnis (und die folgenden 2ten, 3ten und 4ten) weiter -> die Dateien werden geteilt, je nachdem wie viel Platz in jedem der Verzeichnisse noch blieb. -Gib den Pfad _direkt_ hinter "-1" an, _kein_ Leerzeichen dazwischen lassen, -wenn Probleme auftreten, möglicherweise ist das auch bei -o nötig...) +Gib den Pfad _direkt_ hinter "\-1" an, _kein_ Leerzeichen dazwischen lassen, +wenn Probleme auftreten, möglicherweise ist das auch bei \-o nötig...) .SH FEHLER Vobcopy ist weiterhin unter Entwicklung, also können noch einige Neuerungen erwarten werden.
View file
vobcopy-1.2.0.tar.bz2/vobcopy.c -> vobcopy-1.2.1.tar.gz/vobcopy.c
Changed
@@ -237,9 +237,7 @@ break; } /* sscanf( optarg, "%lli", &temp_var ); */ - seek_start = abs( temp_var / 2048 ); - if( seek_start < 0 ) - seek_start = 0; + seek_start = temp_var / 2048; cut_flag = TRUE; break; @@ -290,9 +288,7 @@ break; } - stop_before_end = abs( temp_var / 2048 ); - if( stop_before_end < 0 ) - stop_before_end = 0; + stop_before_end = temp_var / 2048; cut_flag = TRUE; break; @@ -322,13 +318,11 @@ provided_input_dir_flag = TRUE; break; -#if defined( HAS_LARGEFILE ) || defined( MAC_LARGEFILE ) case'l': /*large file output*/ max_filesize_in_blocks = 8388608; /*16 GB /2048 (block) */ /* 2^63 / 2048 (not exactly) */ large_file_flag = TRUE; break; -#endif case'm':/*mirrors the dvd to harddrive completly*/ mirror_flag = TRUE; @@ -488,7 +482,7 @@ i = 0; break; case'V': /*version number output */ - printf( "Vobcopy "VERSION" - GPL Copyright (c) 2001 - 2009 robos@muon.de\n" ); + printf( "Vobcopy "PACKAGE_VERSION" - GPL Copyright (c) 2001 - 2009 robos@muon.de\n" ); exit( 0 ); break; @@ -513,7 +507,7 @@ } } - fprintf( stderr, _("Vobcopy "VERSION" - GPL Copyright (c) 2001 - 2009 robos@muon.de\n") ); + fprintf( stderr, _("Vobcopy "PACKAGE_VERSION" - GPL Copyright (c) 2001 - 2009 robos@muon.de\n") ); fprintf( stderr, _("Hint All lines starting with \"libdvdread:\" are not from vobcopy but from the libdvdread-library\n") ); /*get the current working directory*/ @@ -600,8 +594,8 @@ if( strlen( logfile_path ) < 3 ) strcpy( logfile_path, pwd ); - strcpy( logfile_name, "vobcopy_" ); - strcat( logfile_name, VERSION ); + strcpy( logfile_name, PACKAGE_TARNAME"_" ); + strcat( logfile_name, PACKAGE_VERSION ); strcat( logfile_name, ".log" ); strcat( logfile_path, logfile_name ); if ( ( temp = open ( logfile_path , O_RDWR | O_CREAT | O_EXCL, 0666 ) ) == -1 ) @@ -773,7 +767,7 @@ if( longest_title_flag ) /*no title specified (-n ) */ { - titleid = get_longest_title( &dvd ); + titleid = get_longest_title( dvd ); fprintf( stderr, _("Info longest title %d.\n"), titleid ); } @@ -1032,10 +1026,16 @@ } else { - if( strstr( d_name, ";?" ) ) - { - fprintf( stderr, _("\nHint File on dvd ends in \";?\" (%s)\n"), d_name ); - strncat( output_file, d_name, strlen( d_name ) - 2 ); + if( strstr( d_name, ";" ) ) + { + char * pch; + int position_from_end; + pch = strrchr(d_name, ';'); + position_from_end = strlen( d_name ) - (pch - d_name); + if ( position_from_end < 4 ) { + fprintf( stderr, _("\nHint File on dvd ends in \";?\" (%s)\n"), d_name ); + strncat( output_file, d_name, strlen( d_name ) - position_from_end ); + } } else { @@ -1198,8 +1198,9 @@ } /* progress indicator */ tmp_i = i; - fprintf( stderr, _("%4.0fkB of %4.0fkB written\r"), + fprintf( stderr, _("%4.0fkB of %4.0fkB written"), ( tmp_i+1 )*( DVD_VIDEO_LB_LEN/1024 ), tmp_file_size/1024 ); + fprintf( stderr, "\r" ); } fprintf( stderr, _("\n")); if( !stdout_flag ) @@ -1233,8 +1234,9 @@ } /* progress indicator */ tmp_i = i; - fprintf( stderr, _("%4.0fkB of %4.0fkB written\r"), + fprintf( stderr, _("%4.0fkB of %4.0fkB written"), ( tmp_i+1 )*( DVD_VIDEO_LB_LEN/1024 ), tmp_file_size/1024 ); + fprintf( stderr, "\r"); } fprintf( stderr, _("\n")); if( !stdout_flag ) @@ -1278,8 +1280,15 @@ for( a = 1; a < subvob; a++ ) { - if( strstr( input_file, ";?" ) ) - input_file strlen( input_file ) - 7 = ( a + 48 ); + if( strstr( input_file, ";" ) ) + { + char * pch; + int position_from_end; + pch = strrchr( input_file, ';' ); + position_from_end = strlen( input_file ) - ( pch - input_file ); + if ( position_from_end < 4 ) + input_file strlen( input_file ) - 5 - position_from_end = ( a + 48 ); + } else input_file strlen( input_file ) - 5 = ( a + 48 ); @@ -1292,7 +1301,9 @@ culm_single_vob_size += buf.st_size; if( verbosity_level > 1 ) - fprintf( stderr, _("Info Vob %d %d (%s) has a size of %lli\n"), title_nr, subvob, input_file, buf.st_size ); + fprintf( stderr, + _("Info Vob %d %d (%s) has a size of %llu\n"), + title_nr, subvob, input_file, (long long unsigned)buf.st_size ); } start = ( culm_single_vob_size / DVD_VIDEO_LB_LEN ); @@ -1309,13 +1320,13 @@ fprintf( stderr, _("Info Start of %s at %d blocks \n"), output_file, start ); file_block_count = block_count; starttime = time(NULL); - for( i = start; ( i - start ) * DVD_VIDEO_LB_LEN < file_size; i += file_block_count) + for( i = start + seek_start*2048/DVD_VIDEO_LB_LEN; ( i - start ) * DVD_VIDEO_LB_LEN < file_size - stop_before_end*2048 ; i += file_block_count) { int tries = 0, skipped_blocks = 0; /* Only read and write as many blocks as there are left in the file */ - if ( ( i - start + file_block_count ) * DVD_VIDEO_LB_LEN > file_size ) + if ( ( i - start + file_block_count ) * DVD_VIDEO_LB_LEN > file_size - stop_before_end*2048 ) { - file_block_count = ( file_size / DVD_VIDEO_LB_LEN ) - ( i - start ); + file_block_count = ( (file_size - stop_before_end*2048 )/ DVD_VIDEO_LB_LEN ) - ( i - start ); } /* DVDReadBlocks( dvd_file, i, 1, bufferin );this has to be wrong with the 1 there...*/ @@ -1356,7 +1367,8 @@ tmp_i = ( i-start ); percent = ( ( ( ( tmp_i+1 )*DVD_VIDEO_LB_LEN )*100 )/tmp_file_size ); - fprintf( stderr, _("\r%4.0fMB of %4.0fMB written "), + fprintf( stderr, "\r"); + fprintf( stderr, _("%4.0fMB of %4.0fMB written "), ( ( tmp_i+1 )*DVD_VIDEO_LB_LEN )/( 1024*1024 ), ( tmp_file_size+2048 )/( 1024*1024 ) ); fprintf( stderr, _("( %3.1f %% ) "), percent ); @@ -1365,7 +1377,8 @@ } /*this is just so that at the end it actually says 100.0% all the time... */ /*TODO: if it is correct to always assume it's 100% is a good question.... */ -/* fprintf( stderr, _("\r%4.0fMB of %4.0fMB written "), +/* fprintf( stderr, "\r"); + fprintf( stderr, _("%4.0fMB of %4.0fMB written "), ( ( tmp_i+1 )*DVD_VIDEO_LB_LEN )/( 1024*1024 ), ( tmp_file_size+2048 )/( 1024*1024 ) ); fprintf( stderr, _("( 100.0%% ) ") ); @@ -1426,7 +1439,7 @@ fprintf( stderr, _("Info Disk free: %f MB\n"), (double) (pwd_free / ( 1024.0*1024.0 )) ); fprintf( stderr, _("Info Vobs size: %f MB\n"), (double) vob_size / ( 1024.0*1024.0 ) ); ifoClose( vmg_file ); - DVDCloseFile( dvd_file ); + if(dvd_file) DVDCloseFile( dvd_file ); DVDClose( dvd ); /*hope all are closed now...*/ exit( 0 ); @@ -1692,11 +1705,7 @@ strcat( name, ".partial" ); -#if defined( HAS_LARGEFILE ) - if( open( name, O_RDONLY|O_LARGEFILE ) >= 0 ) -#else if( open( name, O_RDONLY ) >= 0 )
View file
vobcopy-1.2.0.tar.bz2/vobcopy.h -> vobcopy-1.2.1.tar.gz/vobcopy.h
Changed
@@ -1,11 +1,5 @@ -#define VERSION "1.2.0" - -#if defined( __gettext__ ) -#include <locale.h> -#include <libintl.h> -#define _(Text) gettext(Text) -#else -#define _(Text) Text +#ifdef HAVE_CONFIG_H +#include "config.h" #endif #define DVDCSS_VERBOSE 1 @@ -13,200 +7,136 @@ #define MAX_STRING 81 #define MAX_DIFFER 2000 +#ifdef ENABLE_NLS +#define _(Text) gettext(Text) +#else +#define _(Text) Text +#endif + +#ifdef HAVE_LOCALE_H +#include <locale.h> +#endif + +#ifdef HAVE_LIBINTL_H +#include <libintl.h> +#endif + +#ifdef HAVE_FEATURES_H +#include <features.h> +#endif + #include <stdio.h> + +#ifdef HAVE_STDLIB_H #include <stdlib.h> +#endif + +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif + #include <string.h> #include <ctype.h> + +#ifdef HAVE_SYS_TYPES_H #include <sys/types.h> +#endif + +#ifdef HAVE_SYS_IOCTL_H #include <sys/ioctl.h> +#endif + +#ifdef HAVE_SYS_STAT_H #include <sys/stat.h> +#endif + #include <fcntl.h> + +#ifdef HAVE_UNISTD_H #include <unistd.h> +#endif + #include <dirent.h> /*for readdir*/ #include <errno.h> #include <signal.h> #include <time.h> -#include <sys/ioctl.h> + +#ifdef HAVE_TERMIOS_H #include <termios.h> +#endif -#if ( defined( __unix__ ) || defined( unix )) && !defined( USG ) +#ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif -#if defined( __GNUC__ ) && \ - !( defined( sun ) ) +#ifdef HAVE_GETOPT_H #include <getopt.h> #endif -/* FreeBSD 4.10 and OpenBSD 3.2 has not <stdint.h> */ -/* by some bugreport:*/ -#if !( defined( BSD ) && ( BSD >= 199306 ) ) && !defined( sun ) || defined(OpenBSD) +#ifdef HAVE_STDINT_H #include <stdint.h> #endif -/* I'm trying to have all supported OSes definitions clearly separated here */ -/* The appearance could probably be made more readable -- lb */ - -/* ////////// Solaris ////////// */ -#if defined( __sun ) - +#ifdef HAVE_STDLIB_H #include <stdlib.h> -#include <sys/mnttab.h> -#include <sys/statvfs.h> - -typedef enum { FALSE=0, TRUE=1 } bool; - -# if ( _FILE_OFFSET_BITS == 64 ) -#define HAS_LARGEFILE 1 -# endif - -#define off_t off64_t - -#else /* Solaris */ - -/*#define off_t __off64_t THIS HERE BREAKS OSX 10.5 */ - -/* ////////// *BSD ////////// */ -#if ( defined( BSD ) && ( BSD >= 199306 ) ) - -#if !defined( __NetBSD__ ) || \ - ( defined( __NetBSD__) && ( __NetBSD_Version__ < 200040000 ) ) -#include <sys/mount.h> -#define USE_STATFS 1 #endif -#if defined(__FreeBSD__) -#define USE_STATFS_FOR_DEV -#include <sys/statvfs.h> -#else -#include <sys/statvfs.h> +#ifdef HAVE_SYS_MOUNT_H +#include <sys/mount.h> #endif -# if defined(NetBSD) || defined (OpenBSD) - -#include <sys/param.h> - +#ifdef HAVE_GETMNTINFO #define USE_GETMNTINFO - -# if ( __NetBSD_Version__ < 200040000 ) - -#include <sys/mount.h> -#define USE_STATFS_FOR_DEV -#define GETMNTINFO_USES_STATFS - -# else -#include <sys/statvfs.h> -#define USE_STATVFS_FOR_DEV -#define GETMNTINFO_USES_STATVFS - -# endif #endif -#if defined(__FreeBSD__) -#define USE_STATFS_FOR_DEV -#include <sys/statvfs.h> +#ifndef HAVE_STDBOOL_H +typedef enum { FALSE=0, TRUE=1 } bool; #else -#include <sys/vfs.h> +#include <stdbool.h> +#define TRUE true +#define FALSE false #endif -# if !defined(OpenBSD) -#define HAS_LARGEFILE 1 +#ifdef HAVE_SYS_MNTTAB_H +#include <sys/mnttab.h> #endif -typedef enum { FALSE=0, TRUE=1 } bool; - -#else /* *BSD */ - -/* ////////// Darwin / OS X ////////// */ -#if defined ( __APPLE__ ) - -/* ////////// Darwin ////////// */ -# if defined( __GNUC__ ) - -#include <sys/param.h> -#include <sys/mount.h> - -#include <sys/statvfs.h> -/*can't be both! Should be STATVFS IMHO */ -/*#define USE_STATFS 1 -#define USE_STATVFS 1 -#define HAS_LARGEFILE 1 */ -#define GETMNTINFO_USES_STATFS 1 -#define USE_GETMNTINFO 1 - -#define FALSE 0 -#define TRUE 1 -typedef int bool; -
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.