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