// Copyright (c) 2012, Ben Noordhuis // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above // copyright notice and this permission notice appear in all copies. // // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #ifndef SRC_HEAPDUMP_WIN32_H_ #define SRC_HEAPDUMP_WIN32_H_ namespace { inline void PlatformInit(v8::Isolate*, int) {} inline bool WriteSnapshot(v8::Isolate* isolate, const char* filename) { bool result = WriteSnapshotHelper(isolate, filename); InvokeCallback(filename); return result; } // Emulate snprintf() on windows, _snprintf() doesn't zero-terminate the buffer // on overflow. inline int snprintf(char* buf, size_t len, const char* fmt, ...) { va_list ap; va_start(ap, fmt); const int n = _vsprintf_p(buf, len, fmt, ap); if (len) buf[len - 1] = '\0'; va_end(ap); return n; } } // namespace anonymous #endif // SRC_HEAPDUMP_WIN32_H_