1 /*	hpoint.c	1.1	84/10/08	*/
2 /*
3  * This file contains routines for manipulating the point data
4  * structures for the gremlin picture editor.
5  */
6 
7 #include "gprint.h"
8 
9 /* imports from C */
10 
11 extern char *malloc();
12 
13 
14 /*
15  * Return pointer to empty point list.
16  */
17 POINT *
18 PTInit()
19 {
20     return((POINT *) NULL);
21 }
22 
23 
24 /*
25  * This routine creates a new point with coordinates x and y and
26  * links it into the pointlist.
27  */
28 POINT *
29 PTMakePoint(x, y, pplist)
30 float x, y;
31 POINT **pplist;
32 {
33     register POINT *point;
34 
35     if (Nullpoint(point = *pplist)) {	/* empty list */
36 	*pplist = (POINT *) malloc(sizeof(POINT));
37 	point = *pplist;
38     }
39     else {
40 	while (!Nullpoint(point->nextpt))
41 	    point = point->nextpt;
42 	point->nextpt = (POINT *) malloc(sizeof(POINT));
43 	point = point->nextpt;
44     }
45 
46     point->x = x;
47     point->y = y;
48     point->nextpt = PTInit();
49     return(point);
50 }  /* end PTMakePoint */
51