diff --git a/archive-tar.c b/archive-tar.c
index cc94cf3672cfe9e15afd74d8156fe1cf5df9e8f6..e1bced56093dc08bbc260736637af3356b8598bb 100644 (file)
--- a/archive-tar.c
+++ b/archive-tar.c
*/
#include "cache.h"
#include "commit.h"
-#include "strbuf.h"
#include "tar.h"
#include "builtin.h"
#include "archive.h"
const char *filename, unsigned mode, int stage)
{
static struct strbuf path = STRBUF_INIT;
- int filenamelen = strlen(filename);
void *buffer;
enum object_type type;
unsigned long size;
- strbuf_grow(&path, MAX(PATH_MAX, baselen + filenamelen + 1));
strbuf_reset(&path);
+ strbuf_grow(&path, PATH_MAX);
strbuf_add(&path, base, baselen);
- strbuf_add(&path, filename, filenamelen);
+ strbuf_addstr(&path, filename);
if (S_ISDIR(mode) || S_ISGITLINK(mode)) {
strbuf_addch(&path, '/');
buffer = NULL;