Commits on Dec 11, 2010
  1. enforce SSL connections

    Since the AUR can't decide whether or not it wants to enforce SSL
    connections, users of cower no longer have a choice. valgrind'ing from
    now on needs to be done against a -DPURIFY'd libcrypto.so.
    committed Dec 11, 2010
Commits on Dec 10, 2010
  1. refactor querying with regex

    - remove superfluous variables
    - only compile regex on a pure search
    committed Dec 9, 2010
  2. cut back span by 1 when string ends with ? or *

    If a pattern ends with one of these characters, it means that the
    preceeding character isn't guaranteed to exist, so we need to pull back
    the length of the span by 1. E.g., given 'cow?', 'co' would be a valid
    match.
    committed Dec 9, 2010
  3. Try harder to find a valid chunk of search string.

    Instead of blindly hoping that the first letters in the regex are long
    enough, scan the entire string and use the first span of 2 or more
    letters found. This lets you use regex's like "c.+-git".
    committed Dec 9, 2010
Commits on Dec 9, 2010
Commits on Dec 7, 2010
  1. add vim modeline

    committed Dec 6, 2010
Commits on Dec 6, 2010
Commits on Dec 5, 2010
  1. implement simple thread pooling

    By default, 20 threads are created. This can be adjusted with the
    --threads flag. however, thread creation will be restricted to the
    number of targets if the number of threads requested exceeds the number
    of targets provided.
    committed Dec 5, 2010
Commits on Nov 28, 2010
  1. show vote count in searches

    committed Nov 27, 2010
Commits on Nov 27, 2010
  1. allow searches by maintainer

    the maintainer will never actually show in the search results because I
    consider it an unlikely use case that you'd want to search for multiple
    maintainers in a single query and still want to know who owns which
    package.
    committed Nov 27, 2010
  2. more pedantic cleanup

    - remove obvious comments, add where applicable
    - reorganize declarations to be more uniform
    - coding standards, e.g.: if () instead of if()
    committed Nov 27, 2010
  3. tighten up allocation in pkgbuild_get_extinfo

    make sure that heap allocation is only used for as long as necessary,
    and no longer. this also gets rid of a segfault which would occur if
    reading from the PKGBUILD failed. a lovely side effect of this cleanup
    is that the goto is no longer necessary.
    committed Nov 26, 2010
Commits on Nov 26, 2010
  1. remove redundant headers

    committed Nov 26, 2010
  2. fix memory leak in thread_download

    the return value from thread_query was never being destroyed if the
    download failed due to the target already existing
    committed Nov 25, 2010
  3. refactor results sorting and printing

    rather than rolling our own merge/dedupe method, use the perfectly good
    library method in alpm. This leaves duplicates in our output list, so we
    deal with this in print_results by keeping a pointer to the previously
    printed package. find and skip these dups with aurpkg_cmp.
    committed Nov 25, 2010
  4. fix column counting bug in print_extinfo_list

    when resetting after wrapping to a new line, count should be set
    to the size of the indent, not 0
    committed Nov 24, 2010
  5. pedantic cleanup

    committed Nov 23, 2010
  6. refactor setup/teardown in main

    - perform all non-allocating functions first. after the first allocation,
    always jump to the finish instead of immediately returning.
    - use fewer conditionals. always call the function and just let the
      called function decide whether or not to do anything.
    committed Nov 23, 2010
  7. refactor download_dir handling

    - if specified, resolve with realpath
    - when none specified, let getcwd allocate a sufficient buffer for us
    
    this means we're always allocating memory, so we can safely destroy it
    before returning from main
    committed Nov 23, 2010
Commits on Nov 23, 2010
  1. refactor pkgbuild_get_extinfo

    - tighten up scope
    - use a more robust method of finding the real end of an array
    committed Nov 22, 2010
  2. s/verify_download_dir/set_download_dir/

    This is a more accurate description of what happens in this function.
    committed Nov 22, 2010
  3. return zero for success on all operations except update

    This introduces a somewhat nasty hack, but it shouldn't be an issue
    given the scope of cower. Famous last words. We define success as:
    
    - a query or download returns something
    - update (without --download) returns nothing
    
    Because of this opposing behavior, we have to flip the result of a pure
    update request, as the behavior of our thread model returns nothing when
    an update (correctly) finds no updates on the AUR.
    
    If only redefining success was always this easy.
    committed Nov 22, 2010