diff options
author | Sami Kerola | 2012-03-10 12:29:35 +0100 |
---|---|---|
committer | Sami Kerola | 2012-03-18 14:29:38 +0100 |
commit | 7961acce46283a29bd9e7629e515908848f8c9e1 (patch) | |
tree | 1d51f8d8ddf4959ace301df56d70e35248b65877 /include/fileutils.h | |
parent | lslocks: use xasprintf for safe allocation (diff) | |
download | kernel-qcow2-util-linux-7961acce46283a29bd9e7629e515908848f8c9e1.tar.gz kernel-qcow2-util-linux-7961acce46283a29bd9e7629e515908848f8c9e1.tar.xz kernel-qcow2-util-linux-7961acce46283a29bd9e7629e515908848f8c9e1.zip |
fileutils: differentiate xmkstemp and xfmkstemp
Let developer to choose, case by case, what sort of return value is
best in her code. The xmkstemp() is for users who want file
descriptor as return value of the function, xfmkstemp() will return
FILE pointer.
Proposed-By: Karel Zak <kzak@redhat.com>
CC: Davidlohr Bueso <dave@gnu.org>
Reference: http://marc.info/?l=util-linux-ng&m=133129570124003&w=2
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Diffstat (limited to 'include/fileutils.h')
-rw-r--r-- | include/fileutils.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/fileutils.h b/include/fileutils.h index 27b566190..691429ba0 100644 --- a/include/fileutils.h +++ b/include/fileutils.h @@ -1,6 +1,20 @@ #ifndef UTIL_LINUX_FILEUTILS #define UTIL_LINUX_FILEUTILS -extern FILE * xmkstemp(char **tmpname); +extern int xmkstemp(char **tmpname); +static inline FILE *xfmkstemp(char **tmpname) +{ + int fd; + FILE *ret; + fd = xmkstemp(tmpname); + if (fd == -1) { + return NULL; + } + if (!(ret = fdopen(fd, "w+"))) { + close(fd); + return NULL; + } + return ret; +} #endif |