summaryrefslogtreecommitdiffstats
path: root/tests/TemporaryFile.h
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2014-02-21 15:11:03 +0000
committerCalin Juravle <calin@google.com>2014-02-24 20:19:19 +0000
commitfe317a3775e16d466bb884a8e054fd77f7087bb3 (patch)
treec26e2b737d6741add069324fc0dc8a2ad31cd731 /tests/TemporaryFile.h
parentda030de702b756077fec536ed139e7ea38b51022 (diff)
downloadbionic-fe317a3775e16d466bb884a8e054fd77f7087bb3.zip
bionic-fe317a3775e16d466bb884a8e054fd77f7087bb3.tar.gz
bionic-fe317a3775e16d466bb884a8e054fd77f7087bb3.tar.bz2
Added mkstemp64
Bug: 13076637 Change-Id: I41bf28ab3e6c7325470781e9323eeec023483df5
Diffstat (limited to 'tests/TemporaryFile.h')
-rw-r--r--tests/TemporaryFile.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/tests/TemporaryFile.h b/tests/TemporaryFile.h
index b3f085f..2c6fb1c 100644
--- a/tests/TemporaryFile.h
+++ b/tests/TemporaryFile.h
@@ -16,9 +16,10 @@
#include <unistd.h>
-class TemporaryFile {
+template<int (*mk_func)(char*)>
+class GenericTemporaryFile {
public:
- TemporaryFile() {
+ GenericTemporaryFile() {
// Since we might be running on the host or the target, and if we're
// running on the host we might be running under bionic or glibc,
// let's just try both possible temporary directories and take the
@@ -29,7 +30,7 @@ class TemporaryFile {
}
}
- ~TemporaryFile() {
+ ~GenericTemporaryFile() {
close(fd);
unlink(filename);
}
@@ -40,6 +41,8 @@ class TemporaryFile {
private:
void init(const char* tmp_dir) {
snprintf(filename, sizeof(filename), "%s/TemporaryFile-XXXXXX", tmp_dir);
- fd = mkstemp(filename);
+ fd = mk_func(filename);
}
};
+
+typedef GenericTemporaryFile<mkstemp> TemporaryFile;