From: Petr Baudis Date: Tue, 20 Sep 2005 00:07:31 GMT Subject: [PATCH] Fix git-init-db creating crap directories Message-ID: <20050920000731.GJ18320@pasky.or.cz> In-Reply-To: <432F50BC.5000304@zytor.com> Dear diary, on Tue, Sep 20, 2005 at 01:58:52AM CEST, I got a letter where "H. Peter Anvin" told me that... > Petr Baudis wrote: > >Dear diary, on Tue, Sep 20, 2005 at 01:16:14AM CEST, I got a letter > > > >Another idea - try this patch: > > > >diff --git a/init-db.c b/init-db.c > >--- a/init-db.c > >+++ b/init-db.c > >@@ -154,6 +154,7 @@ static void copy_templates(const char *g > > } > > > > memcpy(path, git_dir, len); > >+ path[len] = 0; > > copy_templates_1(path, len, > > template_path, template_len, > > dir); > > > > This seems to have worked. Great. Resending a marginally better version with a cool log message and everything. -- The base target directory for the templates copying was initialized to git_dir, but git_dir[len] is not zero but / at the time we do the initialization. This is not what we want for our target directory string since we pass it to mkdir(), so make it zero-terminated manually. Signed-off-by: Petr Baudis --- commit dbe1fe2f0d6de58bc0c9f98e6cf9573874612890 tree 30398d409fa27e95e3e592c803f6cd5a93652234 parent 79d2a11ec497fe940ca9a1fd8e0b9f295d39c290 author Petr Baudis Tue, 20 Sep 2005 01:55:53 +0200 committer Petr Baudis Tue, 20 Sep 2005 01:55:53 +0200 init-db.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/init-db.c b/init-db.c --- a/init-db.c +++ b/init-db.c @@ -153,7 +153,8 @@ static void copy_templates(const char *g return; } - memcpy(path, git_dir, len); + memcpy(path, git_dir, len-1); + path[len] = 0; copy_templates_1(path, len, template_path, template_len, dir); -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ VI has two modes: the one in which it beeps and the one in which it doesn't.