home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
xbase
/
library
/
clipper
/
rettig
/
source
/
alltrim.c
< prev
next >
Wrap
C/C++ Source or Header
|
1990-10-21
|
1KB
|
56 lines
/*********
*
* ALLTRIM.C
*
* by Tom Rettig
*
* Placed in the public domain by Tom Rettig Associates, 10/22/1990.
*
* Syntax: ALLTRIM( <expC> )
* Return: <expC> with leading and trailing spaces removed.
*
*********/
#include "trlib.h"
TRTYPE alltrim()
{
static char funcname[] = { "alltrim" };
char *instr, *ret;
int i, j, k, len;
if ( PCOUNT==1 && ISCHAR(1) )
{
instr = _parc(1);
len = _tr_strlen(instr);
if ((instr[len-1]==SPACEC || instr[0]==SPACEC) )
{
ret = _tr_allocmem( (unsigned)(len+1) );
if ( ret )
{
for ( i=0; instr[i]==SPACEC; i++ )
; /* first char on left */
for ( j=len-1; instr[j]==SPACEC; j-- )
; /* last char on right */
/* fill return buffer with chars */
for ( k=0; i<=j; i++, k++ )
ret[k] = instr[i];
ret[k] = NULLC;
_retc( ret );
_tr_freemem( ret ,(unsigned)(len+1));
}
else
_retc( _tr_errmsgs(funcname,E_ALLOC) );
}
else
/* nothing to trim, return original string */
_retc( instr );
}
else
_retc( _tr_errmsgs(funcname,E_SYNTAX) );
}
/* eof */