nix-update-helpers.cpp 538 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "nix-update-helpers.hpp"
  2. #include <stdarg.h>
  3. std::string vstrprintf(const char *format, va_list args)
  4. {
  5. va_list args2;
  6. if (!format)
  7. return std::string();
  8. va_copy(args2, args);
  9. std::string str;
  10. int size = (int)vsnprintf(nullptr, 0, format, args2) + 1;
  11. str.resize(size);
  12. vsnprintf(&str[0], size, format, args);
  13. va_end(args2);
  14. return str;
  15. }
  16. std::string strprintf(const char *format, ...)
  17. {
  18. va_list args;
  19. va_start(args, format);
  20. std::string str;
  21. str = vstrprintf(format, args);
  22. va_end(args);
  23. return str;
  24. }