PageRenderTime 21ms CodeModel.GetById 9ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/groff/src/preproc/grn/hpoint.cpp

https://bitbucket.org/freebsd/freebsd-head/
C++ | 49 lines | 27 code | 9 blank | 13 comment | 3 complexity | 3c0693b327abddf64becc7120076865b MD5 | raw file
 1/* Last non-groff version: hpoint.c  1.1  84/10/08 */
 2
 3/*
 4 * This file contains routines for manipulating the point data structures
 5 * for the gremlin picture editor.
 6 */
 7
 8#include <stdlib.h>
 9#include "gprint.h"
10
11
12/*
13 * Return pointer to empty point list.
14 */
15POINT *
16PTInit()
17{
18  return ((POINT *) NULL);
19}
20
21
22/*
23 * This routine creates a new point with coordinates x and y and links it
24 * into the pointlist.
25 */
26POINT *
27PTMakePoint(double x,
28	    double y,
29	    POINT **pplist)
30{
31  register POINT *pt;
32
33  if (Nullpoint(pt = *pplist)) {	/* empty list */
34    *pplist = (POINT *) malloc(sizeof(POINT));
35    pt = *pplist;
36  } else {
37    while (!Nullpoint(pt->nextpt))
38      pt = pt->nextpt;
39    pt->nextpt = (POINT *) malloc(sizeof(POINT));
40    pt = pt->nextpt;
41  }
42
43  pt->x = x;
44  pt->y = y;
45  pt->nextpt = PTInit();
46  return (pt);
47}				/* end PTMakePoint */
48
49/* EOF */