diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-02-25 14:11:54 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-25 14:11:54 -0500 |
| commit | 6003b1ea7018fe6a7aa87622d1178e444e6d8abb (patch) | |
| tree | f87768be86d630511e694ebd09173057c7b88a58 /src/os.cpp | |
| parent | e5d4862e145c38ffc1111ee578ddcafc1e35ad57 (diff) | |
| parent | 0d4db8828a9efc05b5c3622098a8337de0b62d1e (diff) | |
| download | zig-6003b1ea7018fe6a7aa87622d1178e444e6d8abb.tar.gz zig-6003b1ea7018fe6a7aa87622d1178e444e6d8abb.zip | |
Merge pull request #2005 from ziglang/c-source
first class support for compiling C code
Diffstat (limited to 'src/os.cpp')
| -rw-r--r-- | src/os.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/os.cpp b/src/os.cpp index 95febca9bc..f52325af00 100644 --- a/src/os.cpp +++ b/src/os.cpp @@ -1232,6 +1232,18 @@ static Error os_buf_to_tmp_file_posix(Buf *contents, Buf *suffix, Buf *out_tmp_p } #endif +Buf *os_tmp_filename(Buf *prefix, Buf *suffix) { + Buf *result = buf_create_from_buf(prefix); + + const char base64[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"; + assert(array_length(base64) == 64 + 1); + for (size_t i = 0; i < 12; i += 1) { + buf_append_char(result, base64[rand() % 64]); + } + buf_append_buf(result, suffix); + return result; +} + #if defined(ZIG_OS_WINDOWS) static Error os_buf_to_tmp_file_windows(Buf *contents, Buf *suffix, Buf *out_tmp_path) { char tmp_dir[MAX_PATH + 1]; |
