To libify the apply functionality the 'newfd' variable should
not be static and global to the file. Let's move it into
'struct apply_state'.

Signed-off-by: Christian Couder <chrisc...@tuxfamily.org>
---
 builtin/apply.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/builtin/apply.c b/builtin/apply.c
index 5d46b7c..c1c5592 100644
--- a/builtin/apply.c
+++ b/builtin/apply.c
@@ -57,6 +57,7 @@ struct apply_state {
         * lock_file structures, it isn't safe to free(lock_file).
         */
        struct lock_file *lock_file;
+       int newfd;
 
        /* These control what gets looked at and modified */
        int apply; /* this is not a dry-run */
@@ -120,8 +121,6 @@ struct apply_state {
        int applied_after_fixing_ws;
 };
 
-static int newfd = -1;
-
 static const char * const apply_usage[] = {
        N_("git apply [<options>] [<patch>...]"),
        NULL
@@ -4550,8 +4549,8 @@ static int apply_patch(struct apply_state *state,
                state->apply = 0;
 
        state->update_index = state->check_index && state->apply;
-       if (state->update_index && newfd < 0)
-               newfd = hold_locked_index(state->lock_file, 1);
+       if (state->update_index && state->newfd < 0)
+               state->newfd = hold_locked_index(state->lock_file, 1);
 
        if (state->check_index) {
                if (read_cache() < 0)
@@ -4660,6 +4659,7 @@ static void init_apply_state(struct apply_state *state,
        state->prefix = prefix;
        state->prefix_length = state->prefix ? strlen(state->prefix) : 0;
        state->lock_file = lock_file ? lock_file : xcalloc(1, 
sizeof(*lock_file));
+       state->newfd = -1;
        state->apply = 1;
        state->line_termination = '\n';
        state->p_value = 1;
@@ -4778,6 +4778,7 @@ static int apply_all_patches(struct apply_state *state,
        if (state->update_index) {
                if (write_locked_index(&the_index, state->lock_file, 
COMMIT_LOCK))
                        die(_("Unable to write new index file"));
+               state->newfd = -1;
        }
 
        return !!errs;
-- 
2.8.3.443.gaeee61e

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to