Line
Link Here
|
0 |
-- vobcopy-1.0.2.orig/vobcopy.1.de |
0 |
++ vobcopy-1.0.2/vobcopy.1.de |
Lines 2-8
Link Here
|
2 |
.\" groff -man -Tascii vobcopy.1 |
2 |
.\" groff -man -Tascii vobcopy.1 |
3 |
.\" verarbeiten |
3 |
.\" verarbeiten |
4 |
.\" |
4 |
.\" |
5 |
.TH VOBCOPY 1 "Nov 2005" Linux "User Manuals" |
5 |
.TH VOBCOPY 1 "Dez 2007" Linux "User Manuals" |
6 |
.SH NAME |
6 |
.SH NAME |
7 |
vobcopy \- kopiert (rippt) Dateien von einer (Video-) DVD auf die Festplatte |
7 |
vobcopy \- kopiert (rippt) Dateien von einer (Video-) DVD auf die Festplatte |
8 |
.SH SYNTAX |
8 |
.SH SYNTAX |
Lines 22-28
Link Here
|
22 |
.I einzelne zu kopierende Datei |
22 |
.I einzelne zu kopierende Datei |
23 |
.B ] [-t |
23 |
.B ] [-t |
24 |
.I Name |
24 |
.I Name |
25 |
.B ] [-v [-v]] [-I] [-V] [-1 |
25 |
.B ] [-v [-v]] [-I] [-V] [-L |
|
|
26 |
.I Logdatei-Pfad |
27 |
.B ] [-1 |
26 |
.I zus�tzliches Ausgabeverzeichnis 1 |
28 |
.I zus�tzliches Ausgabeverzeichnis 1 |
27 |
.B ] [-2 |
29 |
.B ] [-2 |
28 |
.I zus�tzliches Ausgabeverzeichnis 2 |
30 |
.I zus�tzliches Ausgabeverzeichnis 2 |
Lines 87-93
Link Here
|
87 |
in diesem Fall tippe "reset" und Enter, um das Terminal zu retten. |
89 |
in diesem Fall tippe "reset" und Enter, um das Terminal zu retten. |
88 |
.IP "-q, --quiet" |
90 |
.IP "-q, --quiet" |
89 |
alle Informations- und Fehlerausschriften von vobcopy werden in die Datei |
91 |
alle Informations- und Fehlerausschriften von vobcopy werden in die Datei |
90 |
/tmp/vobcopy.bla anstatt in die Standardfehlerausgabe geschrieben |
92 |
/tmp/vobcopy_XXXXXX anstatt in die Standardfehlerausgabe geschrieben |
91 |
.IP "-O, --onefile single_file(s)_to_rip" |
93 |
.IP "-O, --onefile single_file(s)_to_rip" |
92 |
gibt (eine) einzelne Datei(en) f�r das Kopieren an. Teile von Namen k�nnen |
94 |
gibt (eine) einzelne Datei(en) f�r das Kopieren an. Teile von Namen k�nnen |
93 |
angegeben werden und alle Dateien, die die Namensteile enthalten, werden |
95 |
angegeben werden und alle Dateien, die die Namensteile enthalten, werden |
Lines 104-109
Link Here
|
104 |
.IP "-v -v" |
106 |
.IP "-v -v" |
105 |
schreibt die Ausschriften in eine Logdatei unter /tmp/, um einen Fehlerreport |
107 |
schreibt die Ausschriften in eine Logdatei unter /tmp/, um einen Fehlerreport |
106 |
zu erzeugen. |
108 |
zu erzeugen. |
|
|
109 |
.IP "-L LOGDATEI-PFAD" |
110 |
weist vobcopy an die Logdatei statt in den Standardpfad in den LOGDATEI-PFAD zu legen. |
107 |
.IP "-I, --info" |
111 |
.IP "-I, --info" |
108 |
gibt Informationen �ber die Titel, Kapitel und Teile der DVD aus. |
112 |
gibt Informationen �ber die Titel, Kapitel und Teile der DVD aus. |
109 |
.IP "-V, --version" |
113 |
.IP "-V, --version" |
110 |
-- vobcopy-1.0.2.orig/vobcopy.c |
114 |
++ vobcopy-1.0.2/vobcopy.c |
Lines 64-71
Link Here
|
64 |
int streamout, block_count, blocks, file_block_count; |
64 |
int streamout, block_count, blocks, file_block_count; |
65 |
// char name[300], op; |
65 |
// char name[300], op; |
66 |
char op; |
66 |
char op; |
67 |
char dvd_path[255], logfile_name[20],logfile_path[280]; /* TODO: fill logfile_path with all zeros so that, when " if strncpy() finds the source too long IT |
67 |
char dvd_path[255], logfile_name[20]; |
68 |
DOES NOT TERMINATE the sink, so the following strcat() is undefined and potentially fatal." - Thanks Leigh!*/ |
68 |
char logfile_path[280] = {0}; /* need room for -L path + "/vobfile_XXXXXX" */ |
69 |
char dvd_name[35], vobcopy_call[255], provided_dvd_name[35]; |
69 |
char dvd_name[35], vobcopy_call[255], provided_dvd_name[35]; |
70 |
char *size_suffix; |
70 |
char *size_suffix; |
71 |
char pwd[255],provided_output_dir[255],provided_input_dir[255]; |
71 |
char pwd[255],provided_output_dir[255],provided_input_dir[255]; |
Lines 393-399
Link Here
|
393 |
break; |
393 |
break; |
394 |
|
394 |
|
395 |
case'v': /*verbosity level, can be called multiple times*/ |
395 |
case'v': /*verbosity level, can be called multiple times*/ |
396 |
strcpy( logfile_path, "/tmp/" ); |
|
|
397 |
verbose_flag = TRUE; |
396 |
verbose_flag = TRUE; |
398 |
verbosity_level++; |
397 |
verbosity_level++; |
399 |
break; |
398 |
break; |
Lines 422-428
Link Here
|
422 |
call vobcopy (and since the normal logs get written to |
421 |
call vobcopy (and since the normal logs get written to |
423 |
/tmp and that gets cleared at every reboot... )*/ |
422 |
/tmp and that gets cleared at every reboot... )*/ |
424 |
strncpy( logfile_path, optarg, 255 ); |
423 |
strncpy( logfile_path, optarg, 255 ); |
425 |
strcat( logfile_path, "/" ); |
|
|
426 |
verbose_flag = TRUE; |
424 |
verbose_flag = TRUE; |
427 |
verbosity_level = 2; |
425 |
verbosity_level = 2; |
428 |
break; |
426 |
break; |
Lines 473-519
Link Here
|
473 |
} |
471 |
} |
474 |
} |
472 |
} |
475 |
|
473 |
|
|
|
474 |
/* If the user didnt specify a logfile_path using -L then we do it here */ |
475 |
if (logfile_path[0] == '\0') strcpy(logfile_path, "/tmp"); |
476 |
|
476 |
fprintf( stderr, "Vobcopy "VERSION" - GPL Copyright (c) 2001 - 2007 robos@muon.de\n" ); |
477 |
fprintf( stderr, "Vobcopy "VERSION" - GPL Copyright (c) 2001 - 2007 robos@muon.de\n" ); |
477 |
fprintf( stderr, "[Hint] All lines starting with \"libdvdread:\" are not from vobcopy but from the libdvdread-library\n" ); |
478 |
fprintf( stderr, "[Hint] All lines starting with \"libdvdread:\" are not from vobcopy but from the libdvdread-library\n" ); |
478 |
if( quiet_flag ) |
479 |
|
|
|
480 |
if( quiet_flag || verbosity_level > 1) |
479 |
{ |
481 |
{ |
480 |
fprintf( stderr, "[Hint] Quiet mode - All messages will now end up in /tmp/vobcopy.bla\n" ); |
482 |
int temp; |
481 |
if ( freopen( "/tmp/vobcopy.bla" , "a" , stderr ) == NULL ) |
483 |
int i; |
482 |
{ |
|
|
483 |
printf( "[Error] Aaah! Re-direct of stderr to /tmp/vobcopy.bla didn't work! If -f is not used I stop here... \n" ); |
484 |
printf( "[Hint] Use -f to continue (at your risk of stupid ascii text ending up in your vobs\n" ); |
485 |
if ( !force_flag ) |
486 |
exit( 1 ); |
487 |
} |
488 |
} |
489 |
|
484 |
|
|
|
485 |
/* logfile_path was initialized by -L or to "/tmp" & has room for this strcat operation */ |
486 |
strcat(logfile_path, "/vobcopy_XXXXXX"); |
487 |
if ( temp = mkstemp ( logfile_path ) == -1 ) |
488 |
{ |
489 |
printf( "[Error] Re-direct of stderr to %s: %s\n", logfile_path, strerror(errno)); |
490 |
exit( 1 ); |
491 |
} |
492 |
else |
493 |
{ |
494 |
close( temp ); |
495 |
} |
490 |
|
496 |
|
491 |
if( verbosity_level > 1 ) /* this here starts writing the logfile */ |
497 |
fprintf( stderr, "[Hint] All messages will now end up in %s\n", logfile_path ); |
492 |
{ |
|
|
493 |
fprintf( stderr, "[Info] Uhu, super-verbose\n" ); |
494 |
|
498 |
|
495 |
strcpy( logfile_name, "vobcopy_" ); |
499 |
if ( freopen(logfile_path , "a" , stderr ) == NULL ) |
496 |
strcat( logfile_name, VERSION ); |
500 |
{ |
497 |
strcat( logfile_name, ".log" ); |
501 |
printf( "[Error] Aaah! Re-direct of stderr to %s didn't work! If -f is not used I stop here... \n", logfile_path ); |
498 |
strcat( logfile_path, logfile_name ); |
502 |
printf( "[Hint] Use -f to continue (at your risk of stupid ascii text ending up in your vobs\n" ); |
499 |
fprintf( stderr, "[Info] The log-file is written to %s\n", logfile_path ); |
503 |
if ( !force_flag ) |
500 |
fprintf( stderr, "[Hint] Make sure that vobcopy doesn't have to ask questions (like overwriting of old files), these end up in the log file...\n" ); |
|
|
501 |
fprintf( stderr, "[Hint] If you don't like that position, use -L /path/to/logfile/ instead of -v -v\n" ); |
502 |
if ( freopen( logfile_path, "a" , stderr ) == NULL ) |
503 |
{ |
504 |
printf( "[Error] Aaah! Re-direct of stderr to %s didn't work! \n", logfile_path ); |
505 |
/* oh no! redirecting of stderr failed, do best to quit gracefully */ |
506 |
exit( 1 ); |
504 |
exit( 1 ); |
507 |
} |
505 |
} |
508 |
|
|
|
509 |
strcpy( vobcopy_call, argv[0] ); |
510 |
for( argc_i = 1; argc_i != argc; argc_i++ ) |
511 |
{ |
512 |
strcat( vobcopy_call, " " ); |
513 |
strcat( vobcopy_call, argv[argc_i] ); |
514 |
} |
515 |
fprintf( stderr, "--------------------------------------------------------------------------------\n" ); |
516 |
fprintf( stderr, "[Info] Called: %s\n", vobcopy_call ); |
517 |
} |
506 |
} |
518 |
|
507 |
|
519 |
/*sanity check: -m and -n are mutually exclusive... */ |
508 |
/*sanity check: -m and -n are mutually exclusive... */ |
520 |
-- vobcopy-1.0.2.orig/vobcopy.1 |
509 |
++ vobcopy-1.0.2/vobcopy.1 |
Lines 1-7
Link Here
|
1 |
.\" Process this file with |
1 |
.\" Process this file with |
2 |
.\" groff -man -Tascii vobcopy.1 |
2 |
.\" groff -man -Tascii vobcopy.1 |
3 |
.\" |
3 |
.\" |
4 |
.TH VOBCOPY 1 "Dez 2005" Linux "User Manuals" |
4 |
.TH VOBCOPY 1 "Dec 2007" Linux "User Manuals" |
5 |
.SH NAME |
5 |
.SH NAME |
6 |
vobcopy \- copy (rip) files from a dvd to the harddisk |
6 |
vobcopy \- copy (rip) files from a dvd to the harddisk |
7 |
.SH SYNOPSIS |
7 |
.SH SYNOPSIS |
Lines 21-27
Link Here
|
21 |
.I single_file(s)_to_rip |
21 |
.I single_file(s)_to_rip |
22 |
.B ] [-t |
22 |
.B ] [-t |
23 |
.I name |
23 |
.I name |
24 |
.B ] [-v [-v]] [-I] [-V] [-1 |
24 |
.B ] [-v [-v]] [-I] [-V] [-L |
|
|
25 |
.I logfile-path |
26 |
.B ] [-1 |
25 |
.I aux_output_dir1 |
27 |
.I aux_output_dir1 |
26 |
.B ] [-2 |
28 |
.B ] [-2 |
27 |
.I aux_output_dir2 |
29 |
.I aux_output_dir2 |
Lines 74-82
Link Here
|
74 |
.IP "-n, --title-number TITLE-NUMBER" |
76 |
.IP "-n, --title-number TITLE-NUMBER" |
75 |
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). |
77 |
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). |
76 |
.IP "-o, --output-dir OUTPUT-DIR" |
78 |
.IP "-o, --output-dir OUTPUT-DIR" |
77 |
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. |
79 |
specify the output-directory of the data. "stdout" or "-" redirect to stdout. Useful for piping 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. |
78 |
.IP "-q, --quiet" |
80 |
.IP "-q, --quiet" |
79 |
all info- and error-messages of vobcopy will end up in /tmp/vobcopy.bla instead of stderr |
81 |
all info- and error-messages of vobcopy will end up in /tmp/vobcopy_XXXXXX instead of stderr (XXXXXX is replaced with a random string) |
80 |
.IP "-O, --onefile single_file(s)_to_rip" |
82 |
.IP "-O, --onefile single_file(s)_to_rip" |
81 |
specify which single file(s) to rip. Parts of names can be given and all |
83 |
specify which single file(s) to rip. Parts of names can be given and all |
82 |
files which include the part will be copied. Files can be listed with comma |
84 |
files which include the part will be copied. Files can be listed with comma |
Lines 89-94
Link Here
|
89 |
.IP "-v -v" |
91 |
.IP "-v -v" |
90 |
prints the information given on command line into a log-file in /tmp/ for |
92 |
prints the information given on command line into a log-file in /tmp/ for |
91 |
inclusion into a bugreport. |
93 |
inclusion into a bugreport. |
|
|
94 |
.IP "-L LOGFILE-PATH" |
95 |
tells vobcopy where to put the logfile instead of the default. |
92 |
.IP "-I, --info" |
96 |
.IP "-I, --info" |
93 |
prints information about the titles, chapters and angles on the dvd. |
97 |
prints information about the titles, chapters and angles on the dvd. |
94 |
.IP "-V, --version" |
98 |
.IP "-V, --version" |