1 /* $NetBSD: alldig.c,v 1.2 2022/10/08 16:12:50 christos Exp $ */
2
3 /*++
4 /* NAME
5 /* alldig 3
6 /* SUMMARY
7 /* predicate if string is all numerical
8 /* SYNOPSIS
9 /* #include <stringops.h>
10 /*
11 /* int alldig(string)
12 /* const char *string;
13 /*
14 /* int allalnum(string)
15 /* const char *string;
16 /* DESCRIPTION
17 /* alldig() determines if its argument is an all-numerical string.
18 /*
19 /* allalnum() determines if its argument is an all-alphanumerical
20 /* string.
21 /* SEE ALSO
22 /* An alldig() routine appears in Brian W. Kernighan, P.J. Plauger:
23 /* "Software Tools", Addison-Wesley 1976.
24 /* LICENSE
25 /* .ad
26 /* .fi
27 /* The Secure Mailer license must be distributed with this software.
28 /* AUTHOR(S)
29 /* Wietse Venema
30 /* IBM T.J. Watson Research
31 /* P.O. Box 704
32 /* Yorktown Heights, NY 10598, USA
33 /*
34 /* Wietse Venema
35 /* Google, Inc.
36 /* 111 8th Avenue
37 /* New York, NY 10011, USA
38 /*--*/
39
40 /* System library. */
41
42 #include <sys_defs.h>
43 #include <ctype.h>
44
45 /* Utility library. */
46
47 #include <stringops.h>
48
49 /* alldig - return true if string is all digits */
50
alldig(const char * string)51 int alldig(const char *string)
52 {
53 const char *cp;
54
55 if (*string == 0)
56 return (0);
57 for (cp = string; *cp != 0; cp++)
58 if (!ISDIGIT(*cp))
59 return (0);
60 return (1);
61 }
62
63 /* allalnum - return true if string is all alphanum */
64
allalnum(const char * string)65 int allalnum(const char *string)
66 {
67 const char *cp;
68
69 if (*string == 0)
70 return (0);
71 for (cp = string; *cp != 0; cp++)
72 if (!ISALNUM(*cp))
73 return (0);
74 return (1);
75 }
76