Home | History | Annotate | Line # | Download | only in util
      1 /*	$NetBSD: allprint.c,v 1.1.1.1 2009/06/23 10:08:58 tron Exp $	*/
      2 
      3 /*++
      4 /* NAME
      5 /*	allprint 3
      6 /* SUMMARY
      7 /*	predicate if string is all printable
      8 /* SYNOPSIS
      9 /*	#include <stringops.h>
     10 /*
     11 /*	int	allprint(buffer)
     12 /*	const char *buffer;
     13 /* DESCRIPTION
     14 /*	allprint() determines if its argument is an all-printable string.
     15 /*
     16 /*	Arguments:
     17 /* .IP buffer
     18 /*	The null-terminated input string.
     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 
     39 /* allprint - return true if string is all printable */
     40 
     41 int     allprint(const char *string)
     42 {
     43     const char *cp;
     44     int     ch;
     45 
     46     if (*string == 0)
     47 	return (0);
     48     for (cp = string; (ch = *(unsigned char *) cp) != 0; cp++)
     49 	if (!ISASCII(ch) || !ISPRINT(ch))
     50 	    return (0);
     51     return (1);
     52 }
     53