win-update-helpers.cpp 641 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "win-update-helpers.hpp"
  2. void FreeProvider(HCRYPTPROV prov)
  3. {
  4. CryptReleaseContext(prov, 0);
  5. }
  6. void FreeHash(HCRYPTHASH hash)
  7. {
  8. CryptDestroyHash(hash);
  9. }
  10. void FreeKey(HCRYPTKEY key)
  11. {
  12. CryptDestroyKey(key);
  13. }
  14. std::string vstrprintf(const char *format, va_list args)
  15. {
  16. if (!format)
  17. return std::string();
  18. std::string str;
  19. int size = (int)vsnprintf(nullptr, 0, format, args);
  20. str.resize(size);
  21. vsnprintf(&str[0], size, format, args);
  22. return str;
  23. }
  24. std::string strprintf(const char *format, ...)
  25. {
  26. std::string str;
  27. va_list args;
  28. va_start(args, format);
  29. str = vstrprintf(format, args);
  30. va_end(args);
  31. return str;
  32. }