[PATCH] git: add git_mkstemp()
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
51b0fca012
commit
f2db68eda8
3
cache.h
3
cache.h
@ -181,7 +181,10 @@ extern char *sha1_file_name(const unsigned char *sha1);
|
|||||||
extern char *sha1_pack_name(const unsigned char *sha1);
|
extern char *sha1_pack_name(const unsigned char *sha1);
|
||||||
extern char *sha1_pack_index_name(const unsigned char *sha1);
|
extern char *sha1_pack_index_name(const unsigned char *sha1);
|
||||||
|
|
||||||
|
int git_mkstemp(char *path, size_t n, const char *template);
|
||||||
|
|
||||||
int safe_create_leading_directories(char *path);
|
int safe_create_leading_directories(char *path);
|
||||||
|
char *safe_strncpy(char *, const char *, size_t);
|
||||||
|
|
||||||
/* Read and unpack a sha1 file into memory, write memory to a sha1 file */
|
/* Read and unpack a sha1 file into memory, write memory to a sha1 file */
|
||||||
extern int unpack_sha1_header(z_stream *stream, void *map, unsigned long mapsize, void *buffer, unsigned long size);
|
extern int unpack_sha1_header(z_stream *stream, void *map, unsigned long mapsize, void *buffer, unsigned long size);
|
||||||
|
26
path.c
26
path.c
@ -58,3 +58,29 @@ char *git_path(const char *fmt, ...)
|
|||||||
return bad_path;
|
return bad_path;
|
||||||
return cleanup_path(pathname);
|
return cleanup_path(pathname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* git_mkstemp() - create tmp file honoring TMPDIR variable */
|
||||||
|
int git_mkstemp(char *path, size_t len, const char *template)
|
||||||
|
{
|
||||||
|
char *env, *pch = path;
|
||||||
|
|
||||||
|
if ((env = getenv("TMPDIR")) == NULL) {
|
||||||
|
strcpy(pch, "/tmp/");
|
||||||
|
len -= 5;
|
||||||
|
} else
|
||||||
|
len -= snprintf(pch, len, "%s/", env);
|
||||||
|
|
||||||
|
safe_strncpy(pch, template, len);
|
||||||
|
|
||||||
|
return mkstemp(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char *safe_strncpy(char *dest, const char *src, size_t n)
|
||||||
|
{
|
||||||
|
strncpy(dest, src, n);
|
||||||
|
dest[n - 1] = '\0';
|
||||||
|
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user