Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Aug 23, 2012
Commits on Mar 6, 2011
  1. suppressed clang warnings

    authored
Commits on Feb 11, 2011
Commits on Jan 31, 2011
Commits on Apr 21, 2010
  1. Fix typo

    jengelhart authored
    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 authored
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@67 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Apr 16, 2010
Commits on Apr 14, 2010
  1. This check-in contains bug fixes:

    jengelhart authored
    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 authored
    …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 authored
    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 authored
    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 authored
    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 authored
    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 authored
    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 authored
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@58 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Commits on Jan 22, 2010
Commits on Jan 19, 2010
  1. Another pre-4.0 check in.

    jengelhart authored
    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 authored
    …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 authored
    …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 authored
    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 authored
    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 authored
    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 authored
    …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 authored
    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 authored
    …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 authored
    …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 authored
    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 authored
    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 authored
    …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 authored
    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 authored
    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 authored
    …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 authored
    …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 authored
    …nore options" argument to rkl_getCachedRegex().
    
    git-svn-id: https://regexkit.svn.sourceforge.net/svnroot/regexkit/RegexKitLite@39 83f0d1e4-963b-0410-a2a1-d3bd3f33e299
Something went wrong with that request. Please try again.