Quote:
Originally Posted by Emp`
Untested:
Code:
stock parsetok(const text[], token='', trimSpaces=0, ...)
|
IIRC you cannot use '' for a character.
You must give a character or number.
EDIT:
Here's my version without limits within the function:
Code:
stock parsetok(const text[], token=' ', trimSpaces=0, ...)
{
new iArgCount = numargs( );
if( iArgCount < 5 )
{
return 0;
}
new szFind[ 2 ];
szFind[ 0 ] = token;
new iTextLen = strlen( text );
new iStart, iStop;
new iArgStringIndex = 3;
new iArgLenIndex = 4;
new iParseCount;
new iArgLen;
new i;
while( iArgStringIndex < iArgCount && iArgLenIndex < iArgCount && iStart < iTextLen )
{
while( trimSpaces && text[ iStart ] == ' ' && iStart < iTextLen )
{
iStart++;
}
iStop = contain( text[ iStart ], szFind ) + iStart;
if( iStop < iStart )
{
iStop = iTextLen;
}
iArgLen = getarg( iArgLenIndex );
if( iArgLen > 0 )
{
for( i = 0; i < iArgLen; i++ )
{
setarg( iArgStringIndex, i, text[ i + iStart ] );
}
setarg( iArgStringIndex, iArgLen, EOS );
}
iStart = iStop + 1;
iArgStringIndex += 2;
iArgLenIndex += 2;
iParseCount++;
}
return iParseCount;
}
__________________