home *** CD-ROM | disk | FTP | other *** search
- /*********
- *
- * 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 */
-