test-svn-fe: split off "test-svn-fe -d" into a separate function

The helper for testing the svndiff library is getting dangerously close to the right margin. Split it off into a separate function so it is easier to contemplate on its own. In the process, make the test_svnfe_usage[] string static so it can be shared by the two functions (and other future functions in this test program) without fuss. In other words, this just unindents the code a little. No functional change intended. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

Jonathan Nieder committed May 27, 2011 at 04:28 UTC b747e5675db5e26292c942146a25e1c26440c5f7
1 file changed +32 -22
test-svn-fe.c
+32 -22
@@ -8,10 +8,37 @@
8 #include "vcs-svn/sliding_window.h"
9 #include "vcs-svn/line_buffer.h"
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);
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 +
40 int main(int argc, char *argv[])
41 {
13 - static const char test_svnfe_usage[] =
14 - "test-svn-fe (<dumpfile> | [-d] <preimage> <delta> <len>)";
42 if (argc == 2) {
43 if (svndump_init(argv[1]))
44 return 1;
@@ -20,25 +47,8 @@ int main(int argc, char *argv[])
47 svndump_reset();
48 return 0;
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);
53 usage(test_svnfe_usage);
54 }