Postfix3.3.1
neuter.c
[詳解]
1 /*++
2 /* NAME
3 /* neuter 3
4 /* SUMMARY
5 /* neutralize characters before they can explode
6 /* SYNOPSIS
7 /* #include <stringops.h>
8 /*
9 /* char *neuter(buffer, bad, replacement)
10 /* char *buffer;
11 /* const char *bad;
12 /* int replacement;
13 /* DESCRIPTION
14 /* neuter() replaces bad characters in its input
15 /* by the given replacement.
16 /*
17 /* Arguments:
18 /* .IP buffer
19 /* The null-terminated input string.
20 /* .IP bad
21 /* The null-terminated bad character string.
22 /* .IP replacement
23 /* Replacement value for characters in \fIbuffer\fR that do not
24 /* pass the bad character test.
25 /* LICENSE
26 /* .ad
27 /* .fi
28 /* The Secure Mailer license must be distributed with this software.
29 /* AUTHOR(S)
30 /* Wietse Venema
31 /* IBM T.J. Watson Research
32 /* P.O. Box 704
33 /* Yorktown Heights, NY 10598, USA
34 /*--*/
35 
36 /* System library. */
37 
38 #include <sys_defs.h>
39 #include <string.h>
40 
41 /* Utility library. */
42 
43 #include <stringops.h>
44 
45 /* neuter - neutralize bad characters */
46 
47 char *neuter(char *string, const char *bad, int replacement)
48 {
49  char *cp;
50  int ch;
51 
52  for (cp = string; (ch = *(unsigned char *) cp) != 0; cp++)
53  if (strchr(bad, ch) != 0)
54  *cp = replacement;
55  return (string);
56 }
char * neuter(char *string, const char *bad, int replacement)
Definition: neuter.c:47