summaryrefslogtreecommitdiff
path: root/dviware/quicspool/libprofile/space.c
blob: 8bca164ae2c4bfbb636ec4348f8e9f9baae596a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
static char *rcs = "$Header: space.c,v 1.1 88/01/15 12:17:10 simpson Rel $";
/*
$Log:	space.c,v $
 * Revision 1.1  88/01/15  12:17:10  simpson
 * initial release
 * 
 * Revision 0.1  87/12/11  17:02:15  simpson
 * beta test
 * 
*/
#include "profile.h"

extern char *calloc();

PROFILE_STANZA *profile_stanza_space ()
{
	return((PROFILE_STANZA *)calloc(1, sizeof(PROFILE_STANZA)));
}

PROFILE_MARKER *profile_marker_space (n)
int n;
{
	char *space;
	PROFILE_MARKER *m = (PROFILE_MARKER *)0;

	if (space = calloc(1, sizeof(PROFILE_MARKER) + n + 1)) {
		m = (PROFILE_MARKER *)space;
		m->text = space + sizeof(PROFILE_MARKER);
	}
	return(m);
}

PROFILE_BINDING *profile_binding_space (n)
int n;		/* length of binding name in characters */
{
	char *space;
	PROFILE_BINDING *b = (PROFILE_BINDING *)0;

	if (space = calloc(1, sizeof(PROFILE_BINDING) + n + 1)) {
		b = (PROFILE_BINDING *)space;
		b->name = space + sizeof(PROFILE_BINDING);
	}
	return(b);
}

PROFILE_VALUE *profile_value_space (n)
int n;
{
	char *space;
	PROFILE_VALUE *v = (PROFILE_VALUE *)0;

	if (n > 0) {
		if (space = calloc(1, sizeof(PROFILE_VALUE) + n + 1)) {
			v = (PROFILE_VALUE *)space;
			v->value.s = space + sizeof(PROFILE_VALUE);
		}
	} else
		v = (PROFILE_VALUE *)calloc(1, sizeof(PROFILE_VALUE));
	return(v);
}