response.cc 595 B

123456789101112131415161718192021222324252627282930
  1. /*
  2. * response.c -- handles:
  3. *
  4. * What else?!
  5. *
  6. */
  7. #include "common.h"
  8. #include "response.h"
  9. #include "responses.cc"
  10. #include <bdlib/src/HashTable.h>
  11. #include <bdlib/src/String.h>
  12. #include <vector>
  13. static bd::HashTable<bd::String, std::vector<const char*> > res_map;
  14. void
  15. init_responses()
  16. {
  17. for (size_t i = 0; i < sizeof(res)/sizeof(res[0]); ++i)
  18. res_map[res[i].name] = std::vector<const char*>(res[i].res,
  19. res[i].res + res[i].size);
  20. }
  21. const char *
  22. response(response_t type)
  23. {
  24. return res_map[type].at(randint(res_map[type].size()));
  25. }
  26. /* vim: set sts=2 sw=2 ts=8 et: */