Patch by David relson

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@10051 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
CaS 2001-06-01 16:27:06 +00:00
parent 7e2c22b549
commit bca95dce07
2 changed files with 38 additions and 34 deletions

View file

@ -1,3 +1,7 @@
2001-06-01 Richard Frith-Macdonald <rfm@gnu.uk>
* Source/NSString.m: Patch by David Relson applied
2001-06-01 Richard Frith-Macdonald <rfm@gnu.uk> 2001-06-01 Richard Frith-Macdonald <rfm@gnu.uk>
Optimisations suggested by Guenther Fuerthaller Optimisations suggested by Guenther Fuerthaller

View file

@ -1782,21 +1782,23 @@ handle_printf_atsign (FILE *stream,
} }
if (start == 0) if (start == 0)
{ {
thischar = (*caiImp)(self, caiSel, start); thischar = (*caiImp)(self, caiSel, start);
switch (thischar) switch (thischar)
{ {
case (unichar)0x000A: case (unichar)0x000A:
case (unichar)0x000D: case (unichar)0x000D:
case (unichar)0x2028: case (unichar)0x2028:
case (unichar)0x2029: case (unichar)0x2029:
start++; start++;
break; break;
default: default:
break; break;
} }
} }
else else
start++; {
start++;
}
*startIndex = start; *startIndex = start;
} }
} }
@ -1824,33 +1826,31 @@ handle_printf_atsign (FILE *stream,
if (done) if (done)
break; break;
} }
if (end < len) if (lineEndIndex)
{ {
if ((*caiImp)(self, caiSel, end) == (unichar)0x000D) if (end < len
&& ((*caiImp)(self, caiSel, end) == (unichar)0x000D)
&& ((*caiImp)(self, caiSel, end+1) == (unichar)0x000A))
{ {
if ((*caiImp)(self, caiSel, end+1) == (unichar)0x000A) *lineEndIndex = end+1;
*lineEndIndex = end+1;
else
*lineEndIndex = end;
} }
else else
*lineEndIndex = end; {
*lineEndIndex = end;
}
} }
else if (contentsEndIndex)
*lineEndIndex = end;
}
if (contentsEndIndex)
{
if (end < len)
{ {
*contentsEndIndex = end-1; if (end < len)
} {
else *contentsEndIndex = end-1;
{ }
/* xxx OPENSTEP documentation does not say what to do if last else
line is not terminated. Assume this */ {
*contentsEndIndex = end; /* xxx OPENSTEP documentation does not say what to do if last
line is not terminated. Assume this */
*contentsEndIndex = end;
}
} }
} }
} }