Luiz Fernando N. Capitulino said the following on 14.08.2007 21:44: > This is a wrapper for mkstemp() that performs error checking and > calls die() when an error occur. > > Signed-off-by: Luiz Fernando N. Capitulino > --- > git-compat-util.h | 10 ++++++++++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/git-compat-util.h b/git-compat-util.h > index 362e040..ca0a597 100644 > --- a/git-compat-util.h > +++ b/git-compat-util.h > @@ -303,6 +303,16 @@ static inline FILE *xfdopen(int fd, const char *mode) > return stream; > } > > +static inline int xmkstemp(char *template) > +{ > + int fd; > + > + fd = mkstemp(template); > + if (fd < 0) > + die("Unable to create temporary file: %s", strerror(errno)); > + return fd; > +} > + > static inline size_t xsize_t(off_t len) > { > return (size_t)len; This functions needs to be further down in the file for MinGW builds, since mkstemp() is forward declared later in the file. So, something like this: diff --git a/git-compat-util.h b/git-compat-util.h index 9e075b7..f9ba8b0 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -477,4 +477,14 @@ extern __attribute__((noreturn)) int git_exit(int code); #endif /* __MINGW32__ */ +static inline int xmkstemp(char *template) +{ + int fd; + + fd = mkstemp(template); + if (fd < 0) + die("Unable to create temporary file: %s", strerror(errno)); + return fd; +} + #endif -- .marius