test-buffer.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * Copyright (C) 2004 Paul Jakma
  3. *
  4. * This file is part of Quagga.
  5. *
  6. * Quagga is free software; you can redistribute it and/or modify it
  7. * under the terms of the GNU General Public License as published by the
  8. * Free Software Foundation; either version 2, or (at your option) any
  9. * later version.
  10. *
  11. * Quagga is distributed in the hope that it will be useful, but
  12. * WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with Quagga; see the file COPYING. If not, write to the Free
  18. * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  19. * 02111-1307, USA.
  20. */
  21. #include <zebra.h>
  22. #include <memory.h>
  23. #include <buffer.h>
  24. struct thread_master *master;
  25. int
  26. main(int argc, char **argv)
  27. {
  28. struct buffer *b1, *b2;
  29. int n;
  30. char junk[3];
  31. char c = 'a';
  32. memory_init();
  33. if ((argc != 2) || (sscanf(argv[1], "%d%1s", &n, junk) != 1))
  34. {
  35. fprintf(stderr, "Usage: %s <number of chars to simulate>\n", *argv);
  36. return 1;
  37. }
  38. b1 = buffer_new(0);
  39. b2 = buffer_new(1024);
  40. while (n-- > 0)
  41. {
  42. buffer_put(b1, &c, 1);
  43. buffer_put(b2, &c, 1);
  44. if (c++ == 'z')
  45. c = 'a';
  46. buffer_reset(b1);
  47. buffer_reset(b2);
  48. }
  49. buffer_free(b1);
  50. buffer_free(b2);
  51. return 0;
  52. }