summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 3ac10b2)
raw | patch | inline | side by side (parent: 3ac10b2)
author | Dmitry Ivankov <divanorama@gmail.com> | |
Mon, 20 Jun 2011 08:22:47 +0000 (14:22 +0600) | ||
committer | Jonathan Nieder <jrnieder@gmail.com> | |
Tue, 21 Jun 2011 10:02:57 +0000 (05:02 -0500) |
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>
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>
vcs-svn/fast_export.c | patch | blob | history |
diff --git a/vcs-svn/fast_export.c b/vcs-svn/fast_export.c
index 97f5fdf48985d408a4944ad678fb04a5ad9c6157..3efde20a0cac6309e51a51745be8919ee63dccde 100644 (file)
--- a/vcs-svn/fast_export.c
+++ b/vcs-svn/fast_export.c
#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;
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))
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);