Fix implementation of NSString -getParagraphStart🔚contentsEnd:forRange:.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33379 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
wlux 2011-06-26 10:03:10 +00:00
parent a37a9789c7
commit 1d5f115076
2 changed files with 46 additions and 11 deletions

View file

@ -1,3 +1,10 @@
2011-06-26 Wolfgang Lux <wolfgang.lux@gmail.com>
* Source/NSString.m(-_getStart:end:contentsEnd:forRange:lineSep:,
-getLineStart:end:contentsEnd:forRange:,
-getParagraphStart:end:contentsEnd:forRange):
Fix implementation of getParagraphStart:end:contentsEnd:forRange:.
2011-06-26 Wolfgang Lux <wolfgang.lux@gmail.com>
* configure.ac:

View file

@ -2445,10 +2445,11 @@ handle_printf_atsign (FILE *stream,
* arguments to be null pointers (in which case no value is returned in that
* argument).
*/
- (void) getLineStart: (NSUInteger*)startIndex
end: (NSUInteger*)lineEndIndex
contentsEnd: (NSUInteger*)contentsEndIndex
forRange: (NSRange)aRange
- (void) _getStart: (NSUInteger*)startIndex
end: (NSUInteger*)lineEndIndex
contentsEnd: (NSUInteger*)contentsEndIndex
forRange: (NSRange)aRange
lineSep: (BOOL)flag
{
unichar thischar;
unsigned start, end, len, termlen;
@ -2485,10 +2486,15 @@ handle_printf_atsign (FILE *stream,
{
case (unichar)0x000A:
case (unichar)0x000D:
case (unichar)0x2028:
case (unichar)0x2029:
done = YES;
break;
case (unichar)0x2028:
if (flag)
{
done = YES;
break;
}
default:
start--;
break;
@ -2503,10 +2509,15 @@ handle_printf_atsign (FILE *stream,
{
case (unichar)0x000A:
case (unichar)0x000D:
case (unichar)0x2028:
case (unichar)0x2029:
start++;
break;
case (unichar)0x2028:
if (flag)
{
start++;
break;
}
default:
break;
}
@ -2534,10 +2545,15 @@ handle_printf_atsign (FILE *stream,
{
case (unichar)0x000A:
case (unichar)0x000D:
case (unichar)0x2028:
case (unichar)0x2029:
found = YES;
break;
case (unichar)0x2028:
if (flag)
{
found = YES;
break;
}
default:
break;
}
@ -2576,16 +2592,28 @@ handle_printf_atsign (FILE *stream,
}
}
- (void) getLineStart: (NSUInteger *)startPtr
end: (NSUInteger *)lineEndPtr
contentsEnd: (NSUInteger *)contentsEndPtr
forRange: (NSRange)aRange
{
[self _getStart: startPtr
end: lineEndPtr
contentsEnd: contentsEndPtr
forRange: aRange
lineSep: YES];
}
- (void) getParagraphStart: (NSUInteger *)startPtr
end: (NSUInteger *)parEndPtr
contentsEnd: (NSUInteger *)contentsEndPtr
forRange: (NSRange)range
forRange: (NSRange)aRange
{
// FIXME
[self getLineStart: startPtr
[self _getStart: startPtr
end: parEndPtr
contentsEnd: contentsEndPtr
forRange: range];
forRange: aRange
lineSep: NO];
}
// Changing Case