Skip to content

Commit

Permalink
vcs-svn: do not initialize report_buffer twice
Browse files Browse the repository at this point in the history
When importing from a dump with deltas, first fast_export_init calls
buffer_fdinit, and then init_report_buffer calls fdopen once again
when processing the first delta.  The second initialization is
redundant and leaks a FILE *.

Remove the redundant on-demand initialization to fix this.
Initializing directly in fast_export_init is simpler and lets the
caller pass an int specifying which fd to use instead of hard-coding
REPORT_FILENO.

Signed-off-by: Dmitry Ivankov <divanorama@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
  • Loading branch information
Dmitry Ivankov authored and Jonathan Nieder committed Jun 21, 2011
1 parent 3ac10b2 commit c5f1fbe
Showing 1 changed file with 0 additions and 12 deletions.
12 changes: 0 additions & 12 deletions vcs-svn/fast_export.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#include "line_buffer.h"

#define MAX_GITSVN_LINE_LEN 4096
#define REPORT_FILENO 3

static uint32_t first_commit_done;
static struct line_buffer postimage = LINE_BUFFER_INIT;
Expand All @@ -30,15 +29,6 @@ static int init_postimage(void)
return buffer_tmpfile_init(&postimage);
}

static int init_report_buffer(int fd)
{
static int report_buffer_initialized;
if (report_buffer_initialized)
return 0;
report_buffer_initialized = 1;
return buffer_fdinit(&report_buffer, fd);
}

void fast_export_init(int fd)
{
if (buffer_fdinit(&report_buffer, fd))
Expand Down Expand Up @@ -203,8 +193,6 @@ static long apply_delta(off_t len, struct line_buffer *input,

if (init_postimage() || !(out = buffer_tmpfile_rewind(&postimage)))
die("cannot open temporary file for blob retrieval");
if (init_report_buffer(REPORT_FILENO))
die("cannot open fd 3 for feedback from fast-import");
if (old_data) {
const char *response;
printf("cat-blob %s\n", old_data);
Expand Down

0 comments on commit c5f1fbe

Please sign in to comment.