1: #ifndef lint
2: static char sccsid[] = "@(#)misc.c 4.2 (Berkeley) 7/7/83";
3: #endif
4:
5: #include <stdio.h>
6: #include "courier.h"
7:
8: Unspecified *
9: Allocate(n)
10: LongCardinal n;
11: {
12: Unspecified *p;
13: extern char *malloc();
14:
15: if (n > 100000) {
16: fprintf(stderr,
17: "Ridiculous request to memory allocator (%d words).\n",
18: n);
19: exit(1);
20: }
21: if (n == 0)
22: return (0);
23: p = (Unspecified *) malloc(n*sizeof(Unspecified));
24: if (p == 0) {
25: fprintf(stderr, "Out of memory.\n");
26: exit(1);
27: }
28: return (p);
29: }
30:
31: Deallocate(p)
32: Unspecified *p;
33: {
34: if (p != 0)
35: free((char *) p);
36: }
37:
38: PackString(p, buf, flag)
39: String *p;
40: Unspecified *buf;
41: Boolean flag;
42: {
43: Cardinal n;
44:
45: n = strlen(*p);
46: if (flag) {
47: PackCardinal(&n, buf, 1);
48: strncpy(buf+1, *p, n);
49: }
50: return (1 + n/2 + n%2);
51: }
52:
53: UnpackString(p, buf)
54: String *p;
55: Unspecified *buf;
56: {
57: Cardinal n;
58:
59: UnpackCardinal(&n, buf);
60: *p = (String) Allocate(n/2 + 1);
61: buf++;
62: strncpy(*p, buf, n);
63: (*p)[n] = 0;
64: return (1 + n/2 + n%2);
65: }
Defined functions
Defined variables
sccsid
defined in line
2;
never used