1. 27 Mar, 2020 1 commit
    • Geoff Simmons's avatar
      Implement QP prefix searching without recursion. · 1ec2deee
      Geoff Simmons authored
      The new algorithm improves efficiency with iteration in place of
      recursion, and in a number of other ways:
      
      - Avoid searches into dead-end branches. The traversal of all branches
      was done because of the overlapping prefix case -- "foo" and "foobar"
      both in the set. Now we just search the tree for a match, but before
      descending into the next branch, check if there are other branches at
      which the current prefix matches a terminating node.
      
      - Only do string comparisons when we hit a terminating node.
      
      - Mark terminating nodes with a flag in the tree, so that we don't go
      looking for the null byte in the strings table during the search.
      
      While we're here, rename the flag for the nibble search as hinib --
      non-zero if and only if we inspect the most significant nibble at that
      node. Also remove some dead code from QP_Insert().
      1ec2deee
  2. 26 Mar, 2020 3 commits
  3. 24 Mar, 2020 2 commits
  4. 20 Mar, 2020 3 commits
  5. 06 Mar, 2020 3 commits
  6. 03 Mar, 2020 7 commits
  7. 28 Feb, 2020 1 commit
  8. 27 Feb, 2020 1 commit
    • Geoff Simmons's avatar
      Fix a bug in match(). · 47eae6cd
      Geoff Simmons authored
      The search may have matched a string that is actually a prefix of
      the subject string, if a longer string with the same prefix is also
      in the set.
      
      This "happens" to give correct results for match(), but which()
      would return the wrong value.
      
      The fix uses strcmp() instead of memcmp(), but that is also
      vectorized, where the C library uses vector instructions.
      47eae6cd
  9. 26 Feb, 2020 4 commits
  10. 10 Dec, 2019 1 commit
    • Nils Goroll's avatar
      Support backend None · f95af2f6
      Nils Goroll authored
      since varnish-cache ecef48518f3b3f4bbf28256e090bdbb5cd2b163c backends
      can be NULL (as defined with backend <name> None)
      f95af2f6
  11. 09 Dec, 2019 1 commit
  12. 31 Oct, 2019 1 commit
    • Geoff Simmons's avatar
      Add autotool support for generating coverage reports. · b5303dfa
      Geoff Simmons authored
      configure checks if you have lcov & genhtml; these can be specified
      with --with-lcov and/or --with-genhtml.
      
      If they are available, then make coverage does the following:
      
      - make clean, then make check with CC=gcc and CFLAGS set so that
        inputs for gcov/lcov are generated.
      
      - lcov creates the src/coverage subdir and generates a targetfile
        there.
      
      - genhtml generates HTML reports in src/coverage.
      b5303dfa
  13. 02 Oct, 2019 2 commits
  14. 22 Aug, 2019 1 commit
  15. 21 Aug, 2019 2 commits
  16. 07 Apr, 2019 1 commit
  17. 26 Mar, 2019 1 commit
  18. 07 Mar, 2019 2 commits
  19. 04 Feb, 2019 3 commits