date and time created 84/10/08 15:29:20 by ralph
authorRalph Campbell <ralph@ucbvax.Berkeley.EDU>
Tue, 9 Oct 1984 07:29:20 +0000 (23:29 -0800)
committerRalph Campbell <ralph@ucbvax.Berkeley.EDU>
Tue, 9 Oct 1984 07:29:20 +0000 (23:29 -0800)
SCCS-vsn: local/ditroff/ditroff.old.okeeffe/grn/hpoint.c 1.1

usr/src/local/ditroff/ditroff.old.okeeffe/grn/hpoint.c [new file with mode: 0644]

diff --git a/usr/src/local/ditroff/ditroff.old.okeeffe/grn/hpoint.c b/usr/src/local/ditroff/ditroff.old.okeeffe/grn/hpoint.c
new file mode 100644 (file)
index 0000000..c7f843e
--- /dev/null
@@ -0,0 +1,50 @@
+/*     hpoint.c        1.1     84/10/08        */
+/*
+ * This file contains routines for manipulating the point data
+ * structures for the gremlin picture editor.
+ */
+
+#include "gprint.h"
+
+/* imports from C */
+
+extern char *malloc();
+
+
+/*
+ * Return pointer to empty point list.
+ */
+POINT *
+PTInit()
+{
+    return((POINT *) NULL);
+}
+
+
+/*
+ * This routine creates a new point with coordinates x and y and 
+ * links it into the pointlist.
+ */
+POINT *
+PTMakePoint(x, y, pplist)
+float x, y;
+POINT **pplist;
+{
+    register POINT *point;
+
+    if (Nullpoint(point = *pplist)) {  /* empty list */
+       *pplist = (POINT *) malloc(sizeof(POINT));
+       point = *pplist;
+    }
+    else {
+       while (!Nullpoint(point->nextpt))
+           point = point->nextpt;
+       point->nextpt = (POINT *) malloc(sizeof(POINT));
+       point = point->nextpt;
+    }
+
+    point->x = x;
+    point->y = y;
+    point->nextpt = PTInit();
+    return(point);
+}  /* end PTMakePoint */