BSD 4 release
[unix-history] / usr / src / cmd / delivermail / util.c
CommitLineData
b3cbe40f
EA
1# include <sysexits.h>
2# include "useful.h"
3
31cef89c 4static char SccsId[] = "@(#)util.c 1.4 10/21/80";
916b3375 5
b3cbe40f 6/*
b3cbe40f
EA
7** STRIPQUOTES -- Strip quotes & quote bits from a string.
8**
9** Runs through a string and strips off unquoted quote
10** characters and quote bits. This is done in place.
11**
12** Parameters:
13** s -- the string to strip.
14**
15** Returns:
16** none.
17**
18** Side Effects:
19** none.
20**
b3cbe40f
EA
21** Called By:
22** deliver
b3cbe40f
EA
23*/
24
25stripquotes(s)
26 char *s;
27{
28 register char *p;
29 register char *q;
30 register char c;
31
32 for (p = q = s; (c = *p++) != '\0'; )
33 {
34 if (c != '"')
35 *q++ = c & 0177;
36 }
37 *q = '\0';
38}
39\f/*
40** XALLOC -- Allocate memory and bitch wildly on failure.
41**
42** THIS IS A CLUDGE. This should be made to give a proper
43** error -- but after all, what can we do?
44**
45** Parameters:
46** sz -- size of area to allocate.
47**
48** Returns:
49** pointer to data region.
50**
51** Side Effects:
52** Memory is allocated.
53**
b3cbe40f
EA
54** Called By:
55** lots of people.
b3cbe40f
EA
56*/
57
58char *
59xalloc(sz)
60 register unsigned int sz;
61{
62 register char *p;
63 extern char *malloc();
64
65 p = malloc(sz);
66 if (p == NULL)
67 {
68 syserr("Out of memory!!");
21ec078e 69 exit(EX_UNAVAILABLE);
b3cbe40f
EA
70 }
71 return (p);
72}
73\f/*
74** ANY -- Return TRUE if the character exists in the string.
75**
76** Parameters:
77** c -- the character.
78** s -- the string
79** (sounds like an avant garde script)
80**
81** Returns:
82** TRUE -- if c could be found in s.
83** FALSE -- otherwise.
84**
85** Side Effects:
86** none.
87**
b3cbe40f
EA
88** Called By:
89** prescan
b3cbe40f
EA
90*/
91
92any(c, s)
93 register char c;
94 register char *s;
95{
96 register char c2;
97
98 while ((c2 = *s++) != '\0')
99 if (c2 == c)
100 return (TRUE);
101 return (FALSE);
102}