diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2010-11-19 18:46:06 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-11-24 14:51:42 -0800 |
commit | 5c28a8b054cb69a37638b0261fc370422c8fab58 (patch) | |
tree | 111356892e3a73a6439fb0506971d178096f6277 /vcs-svn | |
parent | 1f05d07c456e23c0827efbbb3e738afc9f3152e7 (diff) | |
download | git-5c28a8b054cb69a37638b0261fc370422c8fab58.tar.gz git-5c28a8b054cb69a37638b0261fc370422c8fab58.tar.xz |
vcs-svn: Check for errors from open()
test-svn-fe segfaults when passed a bogus path. Simplify debugging by
exiting with a meaningful error message instead.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'vcs-svn')
-rw-r--r-- | vcs-svn/svndump.c | 6 | ||||
-rw-r--r-- | vcs-svn/svndump.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/vcs-svn/svndump.c b/vcs-svn/svndump.c index 6b64c1b85..db1185122 100644 --- a/vcs-svn/svndump.c +++ b/vcs-svn/svndump.c @@ -290,14 +290,16 @@ void svndump_read(const char *url) handle_revision(); } -void svndump_init(const char *filename) +int svndump_init(const char *filename) { - buffer_init(filename); + if (buffer_init(filename)) + return error("cannot open %s: %s", filename, strerror(errno)); repo_init(); reset_dump_ctx(~0); reset_rev_ctx(0); reset_node_ctx(NULL); init_keys(); + return 0; } void svndump_deinit(void) diff --git a/vcs-svn/svndump.h b/vcs-svn/svndump.h index 93c412f14..df9ceb0e8 100644 --- a/vcs-svn/svndump.h +++ b/vcs-svn/svndump.h @@ -1,7 +1,7 @@ #ifndef SVNDUMP_H_ #define SVNDUMP_H_ -void svndump_init(const char *filename); +int svndump_init(const char *filename); void svndump_read(const char *url); void svndump_deinit(void); void svndump_reset(void); |