Error.cpp 539 B

1234567891011121314151617181920212223
  1. #include "core/utils/Error.hpp"
  2. CError Core::toString(Error e, char* buffer, size_t size) {
  3. if(size <= 0) {
  4. return ErrorCode::CAPACITY_REACHED;
  5. }
  6. size_t index = 0;
  7. Error::Code c = e.code;
  8. size--;
  9. while(true) {
  10. if(index >= size) {
  11. buffer[index] = '\0';
  12. return ErrorCode::CAPACITY_REACHED;
  13. }
  14. buffer[index++] = (c & 1) ? '1' : '0';
  15. c >>= 1;
  16. if(c == 0) {
  17. break;
  18. }
  19. }
  20. buffer[index] = '\0';
  21. return ErrorCode::NONE;
  22. }