8
8
#include "vcs-svn/sliding_window.h"
9
9
#include "vcs-svn/line_buffer.h"
10
10
11
+ static const char test_svnfe_usage [] =
12
+ "test-svn-fe (<dumpfile> | [-d] <preimage> <delta> <len>)" ;
13
+
14
+ static int apply_delta (int argc , char * argv [])
15
+ {
16
+ struct line_buffer preimage = LINE_BUFFER_INIT ;
17
+ struct line_buffer delta = LINE_BUFFER_INIT ;
18
+ struct sliding_view preimage_view = SLIDING_VIEW_INIT (& preimage , -1 );
19
+
20
+ if (argc != 5 )
21
+ usage (test_svnfe_usage );
22
+
23
+ if (buffer_init (& preimage , argv [2 ]))
24
+ die_errno ("cannot open preimage" );
25
+ if (buffer_init (& delta , argv [3 ]))
26
+ die_errno ("cannot open delta" );
27
+ if (svndiff0_apply (& delta , (off_t ) strtoull (argv [4 ], NULL , 0 ),
28
+ & preimage_view , stdout ))
29
+ return 1 ;
30
+ if (buffer_deinit (& preimage ))
31
+ die_errno ("cannot close preimage" );
32
+ if (buffer_deinit (& delta ))
33
+ die_errno ("cannot close delta" );
34
+ buffer_reset (& preimage );
35
+ strbuf_release (& preimage_view .buf );
36
+ buffer_reset (& delta );
37
+ return 0 ;
38
+ }
39
+
11
40
int main (int argc , char * argv [])
12
41
{
13
- static const char test_svnfe_usage [] =
14
- "test-svn-fe (<dumpfile> | [-d] <preimage> <delta> <len>)" ;
15
42
if (argc == 2 ) {
16
43
if (svndump_init (argv [1 ]))
17
44
return 1 ;
@@ -20,25 +47,8 @@ int main(int argc, char *argv[])
20
47
svndump_reset ();
21
48
return 0 ;
22
49
}
23
- if (argc == 5 && !strcmp (argv [1 ], "-d" )) {
24
- struct line_buffer preimage = LINE_BUFFER_INIT ;
25
- struct line_buffer delta = LINE_BUFFER_INIT ;
26
- struct sliding_view preimage_view = SLIDING_VIEW_INIT (& preimage );
27
- if (buffer_init (& preimage , argv [2 ]))
28
- die_errno ("cannot open preimage" );
29
- if (buffer_init (& delta , argv [3 ]))
30
- die_errno ("cannot open delta" );
31
- if (svndiff0_apply (& delta , (off_t ) strtoull (argv [4 ], NULL , 0 ),
32
- & preimage_view , stdout ))
33
- return 1 ;
34
- if (buffer_deinit (& preimage ))
35
- die_errno ("cannot close preimage" );
36
- if (buffer_deinit (& delta ))
37
- die_errno ("cannot close delta" );
38
- buffer_reset (& preimage );
39
- strbuf_release (& preimage_view .buf );
40
- buffer_reset (& delta );
41
- return 0 ;
42
- }
50
+
51
+ if (argc >= 2 && !strcmp (argv [1 ], "-d" ))
52
+ return apply_delta (argc , argv );
43
53
usage (test_svnfe_usage );
44
54
}
0 commit comments