messages.c.jinja 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * NOTE: This file has been generated automatically by “{{script}}”.
  3. * Do not edit manually!
  4. *
  5. */
  6. /*
  7. * Copyright © 2023 Pierre Le Marre <dev@wismill.eu>
  8. * SPDX-License-Identifier: MIT
  9. */
  10. #include "config.h"
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include <string.h>
  14. #include "messages-codes.h"
  15. #include "messages.h"
  16. #include "utils.h"
  17. static const struct xkb_message_entry xkb_messages[] = {
  18. {% for entry in entries %}
  19. { {#--#}{{ entry.message_code_constant(visibility)}}, "{{entry.message_name}}"}{{ "" if loop.last else "," }}
  20. {% endfor %}
  21. };
  22. size_t
  23. xkb_message_get_all(const struct xkb_message_entry **messages)
  24. {
  25. *messages = xkb_messages;
  26. return ARRAY_SIZE(xkb_messages);
  27. }
  28. const struct xkb_message_entry*
  29. xkb_message_get(enum xkb_message_code code)
  30. {
  31. {# Binary search seems overkill for now #}
  32. if (code < _XKB_LOG_MESSAGE_MIN_CODE || code > _XKB_LOG_MESSAGE_MAX_CODE)
  33. return NULL;
  34. for (size_t idx = 0; idx < ARRAY_SIZE(xkb_messages); idx++) {
  35. if (xkb_messages[idx].code == code)
  36. return &xkb_messages[idx];
  37. }
  38. /* no matching message code found */
  39. return NULL;
  40. }