test_urltrans.c
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:1k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. /*
  2.  * test_urltrans.c - a simple program to test the URL translation module
  3.  *
  4.  * Lars Wirzenius <liw@wapit.com>
  5.  */
  6. #include <stdlib.h>
  7. #include <unistd.h>
  8. #include "gwlib/gwlib.h"
  9. #include "gw/urltrans.h"
  10. static void help(void) {
  11. info(0, "Usage: test_urltrans [-r repeats] foo.smsconf pattern ...n"
  12. "where -r means the number of times the test should ben"
  13. "repeated.");
  14. }
  15. int main(int argc, char **argv) {
  16. int i, opt;
  17. Octstr *url;
  18. long repeats;
  19. URLTranslationList *list;
  20. URLTranslation *t;
  21. Cfg *cfg;
  22. Octstr *name;
  23. gwlib_init();
  24. repeats = 1;
  25. while ((opt = getopt(argc, argv, "hr:")) != EOF) {
  26. switch (opt) {
  27. case 'r':
  28. repeats = atoi(optarg);
  29. break;
  30. case 'h':
  31. help();
  32. exit(0);
  33. case '?':
  34. default:
  35. error(0, "Invalid option %c", opt);
  36. help();
  37. panic(0, "Stopping.");
  38. }
  39. }
  40. if (optind + 1 >= argc) {
  41. error(0, "Missing arguments.");
  42. help();
  43. panic(0, "Stopping.");
  44. }
  45. name = octstr_create(argv[optind]);
  46. cfg = cfg_create(name);
  47. octstr_destroy(name);
  48. if (cfg_read(cfg) == -1)
  49. panic(0, "Couldn't read configuration file.");
  50. list = urltrans_create();
  51. if (urltrans_add_cfg(list, cfg) == -1)
  52. panic(0, "Error parsing configuration.");
  53. while (repeats-- > 0) {
  54. for (i = optind + 1; i < argc; ++i) {
  55. url = octstr_create(argv[i]);
  56. t = urltrans_find(list, url, NULL, NULL, NULL);
  57. info(0, "type = %d", urltrans_type(t));
  58. octstr_destroy(url);
  59. }
  60. }
  61. urltrans_destroy(list);
  62. cfg_destroy(cfg);
  63. gwlib_shutdown();
  64. return 0;
  65. }