msgpack-windows-iovec.patch 803 B

12345678910111213141516171819202122232425262728293031
  1. diff --git include/msgpack/v1/vrefbuffer.hpp include/msgpack/v1/vrefbuffer.hpp
  2. --- include/msgpack/v1/vrefbuffer.hpp
  3. +++ include/msgpack/v1/vrefbuffer.hpp
  4. @@ -25,7 +25,22 @@
  5. -#if defined(unix) || defined(__unix) || defined(__APPLE__) || defined(__OpenBSD__)
  6. +#if defined(unix) || defined(__unix) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__unix__)
  7. #include <sys/uio.h>
  8. #else
  9. +#ifdef _WIN32
  10. +#ifndef _WS2DEF_
  11. +#include <Winsock2.h>
  12. +#endif
  13. +#ifndef iovec
  14. +#define iovec _WSABUF
  15. +#endif
  16. +#ifndef iov_base
  17. +#define iov_base buf
  18. +#endif
  19. +#ifndef iov_len
  20. +#define iov_len len
  21. +#endif
  22. +#else
  23. struct iovec {
  24. void *iov_base;
  25. size_t iov_len;
  26. };
  27. +#endif
  28. @@ -171,1 +179,1 @@
  29. - const_cast<const void *>((m_tail - 1)->iov_base)
  30. + (m_tail - 1)->iov_base
  31. --