Re: [PATCH 1/2] Introduces xmkstemp()
- From
Marius Storm-Olsen <marius@trolltech.com>
- Date
- Aug 31, 2007, 08:27 UTC
- Message-ID
- <46D7D0F7.1050302@trolltech.com>
- In-Reply-To
- <20070814164453.400b9c55@localhost>
Luiz Fernando N. Capitulino said the following on 14.08.2007 21:44:
Show 29 quoted lines
> This is a wrapper for mkstemp() that performs error checking and
> calls die() when an error occur.
>
> Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
> ---
> 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