xref: /netbsd-src/external/ibm-public/postfix/dist/src/util/trimblanks.c (revision e89934bbf778a6d6d6894877c4da59d0c7835b0f)
1 /*	$NetBSD: trimblanks.c,v 1.2 2017/02/14 01:16:49 christos Exp $	*/
2 
3 /*++
4 /* NAME
5 /*	trimblanks 3
6 /* SUMMARY
7 /*	skip leading whitespace
8 /* SYNOPSIS
9 /*	#include <stringops.h>
10 /*
11 /*	char	*trimblanks(string, len)
12 /*	char	*string;
13 /*	ssize_t	len;
14 /* DESCRIPTION
15 /*	trimblanks() returns a pointer to the beginning of the trailing
16 /*	whitespace in \fIstring\fR, or a pointer to the string terminator
17 /*	when the string contains no trailing whitespace.
18 /*	The \fIlen\fR argument is either zero or the string length.
19 /* LICENSE
20 /* .ad
21 /* .fi
22 /*	The Secure Mailer license must be distributed with this software.
23 /* AUTHOR(S)
24 /*	Wietse Venema
25 /*	IBM T.J. Watson Research
26 /*	P.O. Box 704
27 /*	Yorktown Heights, NY 10598, USA
28 /*--*/
29 
30 /* System library. */
31 
32 #include "sys_defs.h"
33 #include <ctype.h>
34 
35 /* Utility library. */
36 
37 #include "stringops.h"
38 
trimblanks(char * string,ssize_t len)39 char   *trimblanks(char *string, ssize_t len)
40 {
41     char   *curr;
42 
43     if (len) {
44 	curr = string + len;
45     } else {
46 	for (curr = string; *curr != 0; curr++)
47 	     /* void */ ;
48     }
49     while (curr > string && ISSPACE(curr[-1]))
50 	curr -= 1;
51     return (curr);
52 }
53