Permalink
Switch branches/tags
Nothing to show
Commits on Aug 23, 2012
Commits on Mar 6, 2011
  1. suppressed clang warnings

    samdeane committed Mar 6, 2011
Commits on Feb 11, 2011
Commits on Jan 31, 2011
Commits on Apr 21, 2010
  1. Fix typo

    jengelhart
    jengelhart committed Apr 21, 2010
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@68 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Apr 18, 2010
  1. RegexKitLite 4.0 candidate.

    jengelhart
    jengelhart committed Apr 18, 2010
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@67 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Apr 16, 2010
  1. Fixed some bugs that would manifest in arrayOfDictionariesByMatchingR…

    jengelhart
    jengelhart committed Apr 16, 2010
    …egex:
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@66 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Apr 14, 2010
  1. This check-in contains bug fixes:

    jengelhart
    jengelhart committed Apr 14, 2010
    o A weird bug when using GCC 4.2 (not LLVM, or any other compile) and the optimizer is turned on.  Fixed by adding a volatile qualifier to rkl_lastCachedRegex.  Bug manifests even in non-multithreaded unit tests, but almost instantly under multi-threaded unit tests.  The bug triggers an assertion failure- just after getting a regular expression via rkl_getCachedRegex, the regex returned and rkl_lastCachedRegex should be identical.  Any change would indicate a that the spin lock was violated / not honored / etc.  Seems to be an optimizer code generation bug specific to gcc 4.2 only.
    
    o Another split() bug where the results returned by ICU do not match the expected results (in this case, perl) Examples:
    
      [@"abc.def" componentsSeparatedByRegex:@"."] would return an array of seven @"".  The expected result is an array with zero items.
      [@"xxxyxxx" componentsSeparatedByRegex:@"x"] would return {@"", @"", @"", @"y", @"", @""}, not the expected {@"", @"", @"", @"y"}
    
    o When running under GC, rkl_performEnumerationUsingBlock() could have over CFReleased() an object, causing a "underflow" error message to be printed.
    
    
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@65 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Feb 14, 2010
  1. Most of the "changes" in this commit are due to a refactoring / renam…

    jengelhart
    jengelhart committed Feb 14, 2010
    …ing of some of the 4-way set associative cache. This hit a lot of lines and probably represents 95% of the "changes", but it's all cosmetic.
    
    There are a couple of very minor code refactoring changes that don't (or shouldn't) have any impact on how or what gets executed.  Things like tidying up a few casts reported by -Wc++-compat, warnings about unused labels when assertions are turned off, etc.
    
    There is an important bug fix for ^Blocks support in this commit, though.  Found a problem when doing multi-threaded unit-tests with -DRKL_STACK_LIMIT=16 -DRKL_FIXED_LENGTH=8, which tends to "force" malloc() like allocations for a lot of things.  The function rkl_performEnumerationUsingBlock() was originally a bit of a clone of rkl_performRegexOp(), and with it came the use of the globally shared rkl_scratchBuffers[] for temporary buffer usage.  Well, rkl_performEnumerationUsingBlock() needs to operate outside the main rkl_spinLock, so this was causing a bit of a, uh, problem when two threads began using and free()ing the exact same buffers which they though they owned exclusively.  Fixed by adding scratchBuffers[] to the internal RKLBlockEnumerationHelper object, which is "enumeration local" copies of everything.  rkl_performEnumerationUsingBlocks sets up a RKLFindAll with **pointers to the RKLBlockEnumerationHelper enumeration local scratchBuffers[], and the RKLBlockEnumerationHelper -dealloc/-finalize cleans up the scratchBuffers[] (if neccessary) when the object is reaped.
    
    Also fixed a memory leak in rkl_performEnumerationUsingBlock() when doing a search and replace like op- forgot to add a an -autorelease, and it was being missed by the unit tests because the bulk of the unit tests were using @"" constant strings, which wouldn't show up as a leak.  Fixed the bug and added/duplicated unit tests that use a NSMutableString, which would definitly tickle a leak.
    
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@64 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Feb 4, 2010
  1. RegexKitLite.m: Back out a 'bug-fix' change for '(.*)' matches-

    jengelhart
    jengelhart committed Feb 4, 2010
    When a regular expression could match zero or more characters, the 'Search and Replace' methods would incorrectly add the replacement string to the end of the replaced string as if the regular expression had matched zero characters:
    
    NSString *replacedString = [@"x" stringByReplacingOccurrencesOfRegex:@"(.*)" withString:@"<<$1>>"];
    
    // replacedString = @"<<x>><<>>"  <- RegexKitLite <= v3.3.
    // replacedString = @"<<x>>"      <- RegexKitLite >= v4.0.
    
    This was backed out because it turns out that this is the behavior in perl:
    
    shell% perl -e '$string = "x"; $string =~ s/(.*)/<<$1>>/g; print("$string\n");'
    <<x>><<>>
    shell%
    
    RegexKitLite.html: Major change is that it was run through a link checker / verifier and various links were cleaned up.
    
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@63 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Jan 29, 2010
  1. After a pass through the spell checker...

    jengelhart
    jengelhart committed Jan 29, 2010
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@62 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
  2. More changes on the road to 4.0

    jengelhart
    jengelhart committed Jan 29, 2010
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@61 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Jan 27, 2010
  1. More changes on the road to 4.0

    jengelhart
    jengelhart committed Jan 27, 2010
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@60 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Jan 26, 2010
  1. More changes on the road to 4.0

    jengelhart
    jengelhart committed Jan 26, 2010
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@59 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
  2. More changes on the road to 4.0.

    jengelhart
    jengelhart committed Jan 26, 2010
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@58 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Jan 22, 2010
  1. More pre-4.0 updates. Fixes a few bugs and refactors a few things.

    jengelhart
    jengelhart committed Jan 22, 2010
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@57 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Jan 19, 2010
  1. Another pre-4.0 check in.

    jengelhart
    jengelhart committed Jan 19, 2010
    This check in adds -dictionaryByMatchingRegex: and -arrayOfDictionariesByMatchingRegex: class of methods which allow you to easily create a NSDictionary from matches.  Example:
    
    NSString *searchString = @"http://johndoe:secret@www.example.com:8080/private/mail/index.html";
    NSString *regexString  = @"\\b((?i:https?|ftp))://(?:(\\S+?)(?::(\\S+?))?@)?([a-zA-Z0-9\\-.]+)(?::(\\d+))?(/(?:[a-zA-Z0-9\\-._?,'+\\&%$=~*!():@\\\\]*/?)+(?:#([a-zA-Z0-9\\-._?,'+\\&%$=~*!():@\\\\\\/]*))?)?";
    
    Create a dictionary from the first match of the regex:
    NSDictionary *matchDictionary = [searchString dictionaryByMatchingRegex:regexString withKeysAndCaptures:@"protocol", 1, @"user", 2, @"password", 3, @"host", 4, @"port", 5, @"path", 6, @"ref", 7, NULL];
    
    Create an array of dictionaries of all the matches of the regex:
    NSArray *matchArray = [searchString arrayOfDictionariesByMatchingRegex:regexString withKeysAndCaptures:@"protocol", 1, @"user", 2, @"password", 3, @"host", 4, @"port", 5, @"path", 6, @"ref", 7, NULL];
    
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@56 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
  2. More updates on the road to 4.0. Major change is the addition of a re…

    jengelhart
    jengelhart committed Jan 19, 2010
    …gex string hash lookaside cache.
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@55 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Jan 2, 2010
  1. The start of the 4.0 release. RegexKitLite.[hm] contain two major fea…

    jengelhart
    jengelhart committed Jan 2, 2010
    …tures of RegexKitLite 4.0: Support for enumeration using blocks, and an improved compiled regex cache. The documentation is a work in progress.
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@54 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Nov 7, 2009
  1. RegexKitLite 3.3

    jengelhart
    jengelhart committed Nov 7, 2009
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@53 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Nov 4, 2009
  1. RegexKitLite 3.2

    jengelhart
    jengelhart committed Nov 4, 2009
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@52 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on May 15, 2009
  1. RegexKitLite 3.1

    jengelhart
    jengelhart committed May 15, 2009
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@51 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on May 12, 2009
  1. Fix for bug #2790480, lastCacheSlot used when icu_regex == NULL cause…

    jengelhart
    jengelhart committed May 12, 2009
    …s exception. Also added two #ifndef NS_BLOCK_ASSERTIONS around exitNow: labels to keep the warnings down when compiled with -DNS_BLOCK_ASSERTIONS.
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@50 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on May 6, 2009
  1. RegexKitLite 3.0 Release

    jengelhart
    jengelhart committed May 6, 2009
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@49 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on May 5, 2009
  1. More progress towards 3.0. There are no functional changes with this …

    jengelhart
    jengelhart committed May 5, 2009
    …check-in.
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@48 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on May 2, 2009
  1. More changes on the road to 3.0. The changes to RKLMatchEnumerator ar…

    jengelhart
    jengelhart committed May 2, 2009
    …e just cosmetic.
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@47 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Apr 30, 2009
  1. More 3.0 tidies.

    jengelhart
    jengelhart committed Apr 30, 2009
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@46 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Apr 29, 2009
  1. More progress towards the finished 3.0 documentation.

    jengelhart
    jengelhart committed Apr 29, 2009
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@45 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Apr 28, 2009
  1. More progress towards 3.0. Changed the new method invalidateCachedReg…

    jengelhart
    jengelhart committed Apr 28, 2009
    …exState to flushCachedRegexData. Added some extra 64-bit sanity checks. No functionality changes, mostly documentation work.
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@44 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
  2. More progress towards 3.0 documentation.

    jengelhart
    jengelhart committed Apr 28, 2009
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@43 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Apr 27, 2009
  1. Forgot to check this in with rev 41.

    jengelhart
    jengelhart committed Apr 27, 2009
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@42 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
  2. Some more pre-3.0 changes. One change of note is I've switched the dt…

    jengelhart
    jengelhart committed Apr 27, 2009
    …race probe point convertedStringU16Cache to utf16ConversionCache.
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@41 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
  3. Check in for documentation. Still requires a lot of work. Several are…

    jengelhart
    jengelhart committed Apr 27, 2009
    …as just stubbed out. Sections with a red outline are works in progress / stub outs.
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@40 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Apr 18, 2009
  1. Various tidies, changed isValidRegex to isRegexValid, removed the "ig…

    jengelhart
    jengelhart committed Apr 18, 2009
    …nore options" argument to rkl_getCachedRegex().
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@39 83f0d1e4-963b-0410-a2a1-d3bd3f33e299