chiark / gitweb /
README with final notes
[version-charset-test.git] / 0001-check-ref-format-Refactor-out-check_one_ref_format.patch
1 From d64db36be81b970bfc9f9d7bae854819e267d6a0 Mon Sep 17 00:00:00 2001
2 From: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 Date: Fri, 4 Nov 2016 17:23:42 +0000
4 Subject: [PATCH 1/5] check-ref-format: Refactor out check_one_ref_format
5
6 We are going to want to reuse this.  No functional change right now.
7
8 It currently has a hidden memory leak if --normalize is used.
9
10 Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 ---
12  builtin/check-ref-format.c | 26 ++++++++++++++------------
13  1 file changed, 14 insertions(+), 12 deletions(-)
14
15 diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c
16 index eac4994..4d56caa 100644
17 --- a/builtin/check-ref-format.c
18 +++ b/builtin/check-ref-format.c
19 @@ -48,12 +48,22 @@ static int check_ref_format_branch(const char *arg)
20         return 0;
21  }
22  
23 +static int normalize = 0;
24 +static int flags = 0;
25 +
26 +static int check_one_ref_format(const char *refname)
27 +{
28 +       if (normalize)
29 +               refname = collapse_slashes(refname);
30 +       if (check_refname_format(refname, flags))
31 +               return 1;
32 +       if (normalize)
33 +               printf("%s\n", refname);
34 +}
35 +
36  int cmd_check_ref_format(int argc, const char **argv, const char *prefix)
37  {
38         int i;
39 -       int normalize = 0;
40 -       int flags = 0;
41 -       const char *refname;
42  
43         if (argc == 2 && !strcmp(argv[1], "-h"))
44                 usage(builtin_check_ref_format_usage);
45 @@ -76,13 +86,5 @@ int cmd_check_ref_format(int argc, const char **argv, const char *prefix)
46         if (! (i == argc - 1))
47                 usage(builtin_check_ref_format_usage);
48  
49 -       refname = argv[i];
50 -       if (normalize)
51 -               refname = collapse_slashes(refname);
52 -       if (check_refname_format(refname, flags))
53 -               return 1;
54 -       if (normalize)
55 -               printf("%s\n", refname);
56 -
57 -       return 0;
58 +       return check_one_ref_format(argv[i]);
59  }
60 -- 
61 2.10.1
62