summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwlemb <wlemb>2004-04-17 06:41:46 +0000
committerwlemb <wlemb>2004-04-17 06:41:46 +0000
commit3f3dc53655e90cb788123a78b30e000312f0ed02 (patch)
tree15f862d2220e60fddbd95e94ad8014e09bf51f55
parent6e94b108a6454ceef64dce83d4055d9cc8740fca (diff)
downloadgroff-3f3dc53655e90cb788123a78b30e000312f0ed02.tar.gz
* src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp, src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use `double' instead of `float' everywhere. * src/preproc/grn/main.cpp: Use `double' instead of `float' everywhere. (main): Add return value. * src/preproc/grn/hdb.cpp: Use `double' instead of `float' everywhere. Update all user functions. * src/include/search.h, src/include/ptable.h, src/include/printer.h, src/preproc/eqn/box.h, src/preproc/pic/object.h, src/preproc/refer/refer.h, src/preproc/tbl/table.h, src/preproc/tbl/table.cpp, src/roff/troff/env.h, src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h, src/roff/troff/input.cpp, src/roff/troff/request.h, src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward declarations. * src/utils/indxbib/signal.c: Include stdlib.h.
-rw-r--r--ChangeLog24
-rw-r--r--src/devices/grolbp/lbp.h4
-rw-r--r--src/include/printer.h4
-rw-r--r--src/include/ptable.h5
-rw-r--r--src/include/search.h8
-rw-r--r--src/preproc/eqn/box.h2
-rw-r--r--src/preproc/grn/gprint.h2
-rw-r--r--src/preproc/grn/hdb.cpp20
-rw-r--r--src/preproc/grn/hgraph.cpp52
-rw-r--r--src/preproc/grn/hpoint.cpp4
-rw-r--r--src/preproc/grn/main.cpp8
-rw-r--r--src/preproc/html/pushback.cpp10
-rw-r--r--src/preproc/html/pushback.h22
-rw-r--r--src/preproc/pic/object.h9
-rw-r--r--src/preproc/refer/refer.h5
-rw-r--r--src/preproc/tbl/table.cpp8
-rw-r--r--src/preproc/tbl/table.h4
-rw-r--r--src/roff/troff/div.h2
-rw-r--r--src/roff/troff/env.h8
-rw-r--r--src/roff/troff/input.cpp4
-rw-r--r--src/roff/troff/node.cpp2
-rw-r--r--src/roff/troff/node.h2
-rw-r--r--src/roff/troff/request.h4
-rw-r--r--src/roff/troff/token.h8
-rw-r--r--src/utils/indxbib/signal.c2
25 files changed, 127 insertions, 96 deletions
diff --git a/ChangeLog b/ChangeLog
index b0de3bb5..1a319a25 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2004-04-16 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
+ src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
+ src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
+ `double' instead of `float' everywhere.
+ * src/preproc/grn/main.cpp: Use `double' instead of `float'
+ everywhere.
+ (main): Add return value.
+ * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
+ everywhere.
+ Update all user functions.
+
+ * src/include/search.h, src/include/ptable.h, src/include/printer.h,
+ src/preproc/eqn/box.h, src/preproc/pic/object.h,
+ src/preproc/refer/refer.h, src/preproc/tbl/table.h,
+ src/preproc/tbl/table.cpp, src/roff/troff/env.h,
+ src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
+ src/roff/troff/input.cpp, src/roff/troff/request.h,
+ src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
+ declarations.
+
+ * src/utils/indxbib/signal.c: Include stdlib.h.
+
2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
* tmac/s.tmac (@init, RP): Allow initialization of the PO register
diff --git a/src/devices/grolbp/lbp.h b/src/devices/grolbp/lbp.h
index 0604af27..548e4910 100644
--- a/src/devices/grolbp/lbp.h
+++ b/src/devices/grolbp/lbp.h
@@ -348,11 +348,11 @@ static inline void
splinerel(double px,double py,int flush)
{
static int lx = 0 ,ly = 0;
- static float pend = 0.0;
+ static double pend = 0.0;
static int dy = 0, despx = 0, despy = 0, sigpend = 0;
int dxnew ,dynew, sg;
char xcoord[4],ycoord[4];
- float npend ;
+ double npend ;
if (flush == -1) {lx = (int)px; ly = (int)py; return;};
diff --git a/src/include/printer.h b/src/include/printer.h
index 3976215b..95c0a885 100644
--- a/src/include/printer.h
+++ b/src/include/printer.h
@@ -2,7 +2,7 @@
// <groff_src_dir>/src/include/printer.h
-/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003
+/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -49,7 +49,7 @@ struct environment {
color *fill;
};
-struct font;
+class font;
struct font_pointer_list {
font *p;
diff --git a/src/include/ptable.h b/src/include/ptable.h
index ffbe8e6f..dd31c0e3 100644
--- a/src/include/ptable.h
+++ b/src/include/ptable.h
@@ -1,5 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1989, 1990, 1991, 1992, 2003, 2004
+ Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
This file is part of groff.
@@ -43,7 +44,7 @@ struct PASSOC(T) { \
PASSOC(T)(); \
}; \
\
-struct PTABLE(T); \
+class PTABLE(T); \
\
class PTABLE_ITERATOR(T) { \
PTABLE(T) *p; \
diff --git a/src/include/search.h b/src/include/search.h
index 260410e2..9617aab8 100644
--- a/src/include/search.h
+++ b/src/include/search.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1989, 1990, 1991, 1992, 2004 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
This file is part of groff.
@@ -18,8 +18,8 @@ You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-struct search_item;
-struct search_item_iterator;
+class search_item;
+class search_item_iterator;
class search_list {
public:
@@ -34,7 +34,7 @@ private:
friend class search_list_iterator;
};
-struct bmpattern;
+class bmpattern;
class linear_searcher {
const char *ignore_fields;
diff --git a/src/preproc/eqn/box.h b/src/preproc/eqn/box.h
index fc4ac2d9..0b385f8b 100644
--- a/src/preproc/eqn/box.h
+++ b/src/preproc/eqn/box.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-struct list_box;
+class list_box;
class box {
private:
diff --git a/src/preproc/grn/gprint.h b/src/preproc/grn/gprint.h
index b9df60ee..ad3be443 100644
--- a/src/preproc/grn/gprint.h
+++ b/src/preproc/grn/gprint.h
@@ -66,7 +66,7 @@
#define MOD 3
typedef struct point {
- float x, y;
+ double x, y;
struct point *nextpt;
} POINT;
diff --git a/src/preproc/grn/hdb.cpp b/src/preproc/grn/hdb.cpp
index d0bf31ef..f65ccf5c 100644
--- a/src/preproc/grn/hdb.cpp
+++ b/src/preproc/grn/hdb.cpp
@@ -22,12 +22,12 @@
extern int linenum; /* current line number in input file */
extern char gremlinfile[]; /* name of file currently reading */
extern int SUNFILE; /* TRUE if SUN gremlin file */
-extern void savebounds(float x, float y);
+extern void savebounds(double x, double y);
/* imports from hpoint.cpp */
extern POINT *PTInit();
-extern POINT *PTMakePoint(float x, float y, POINT ** pplist);
+extern POINT *PTMakePoint(double x, double y, POINT ** pplist);
int DBGetType(register char *s);
@@ -79,12 +79,12 @@ DBRead(register FILE *file)
{
register int i;
register int done; /* flag for input exhausted */
- register float nx; /* x holder so x is not set before orienting */
+ register double nx; /* x holder so x is not set before orienting */
int type; /* element type */
ELT *elist; /* pointer to the file's elements */
POINT *plist; /* pointer for reading in points */
char string[MAXSTRING], *txt;
- float x, y; /* x and y are read in point coords */
+ double x, y; /* x and y are read in point coords */
int len, brush, size;
int lastpoint;
@@ -99,7 +99,7 @@ DBRead(register FILE *file)
SUNFILE = TRUE;
}
- (void) fscanf(file, "%d%f%f\n", &size, &x, &y);
+ (void) fscanf(file, "%d%lf%lf\n", &size, &x, &y);
/* ignore orientation and file positioning point */
done = FALSE;
@@ -119,7 +119,7 @@ DBRead(register FILE *file)
#ifdef UW_FASTSCAN
(void) xscanf(file, &x, &y); /* always one point */
#else
- (void) fscanf(file, "%f%f\n", &x, &y); /* always one point */
+ (void) fscanf(file, "%lf%lf\n", &x, &y); /* always one point */
#endif /* UW_FASTSCAN */
plist = PTInit(); /* NULL point list */
@@ -143,7 +143,7 @@ DBRead(register FILE *file)
if (string[0] == '*') { /* SUN gremlin file */
lastpoint = TRUE;
} else {
- (void) sscanf(string, "%f%f", &x, &y);
+ (void) sscanf(string, "%lf%lf", &x, &y);
if ((x == -1.00 && y == -1.00) && (!SUNFILE))
lastpoint = TRUE;
}
@@ -169,7 +169,7 @@ DBRead(register FILE *file)
if (string[0] == '*') { /* SUN gremlin file */
lastpoint = TRUE;
} else {
- (void) sscanf(string, "%f%f", &x, &y);
+ (void) sscanf(string, "%lf%lf", &x, &y);
if ((x == -1.00 && y == -1.00) && (!SUNFILE))
lastpoint = TRUE;
}
@@ -280,8 +280,8 @@ DBGetType(register char *s)
*/
int
xscanf(FILE *f,
- float *xp,
- float *yp)
+ double *xp,
+ double *yp)
{
register int c, i, j, m, frac;
int iscale = 1, jscale = 1; /* x = i/scale, y=j/jscale */
diff --git a/src/preproc/grn/hgraph.cpp b/src/preproc/grn/hgraph.cpp
index 9952683a..88fc6bec 100644
--- a/src/preproc/grn/hgraph.cpp
+++ b/src/preproc/grn/hgraph.cpp
@@ -67,12 +67,12 @@ void deltay(double y);
void HGArc(register int cx, register int cy, int px, int py, int angle);
void picurve(register int *x, register int *y, int npts);
void HGCurve(int *x, int *y, int numpoints);
-void Paramaterize(int x[], int y[], float h[], int n);
-void PeriodicSpline(float h[], int z[],
- float dz[], float d2z[], float d3z[],
+void Paramaterize(int x[], int y[], double h[], int n);
+void PeriodicSpline(double h[], int z[],
+ double dz[], double d2z[], double d3z[],
int npoints);
-void NaturalEndSpline(float h[], int z[],
- float dz[], float d2z[], float d3z[],
+void NaturalEndSpline(double h[], int z[],
+ double dz[], double d2z[], double d3z[],
int npoints);
@@ -166,8 +166,8 @@ HGPrintElt(ELT *element,
* stipple fonts).
* If polyfill=BOTH, just use the \D'p ...' command.
*/
- float firstx = p1->x;
- float firsty = p1->y;
+ double firstx = p1->x;
+ double firsty = p1->y;
length = 0; /* keep track of line length so */
/* single lines don't get long */
@@ -713,9 +713,9 @@ HGCurve(int *x,
int *y,
int numpoints)
{
- float h[MAXPOINTS], dx[MAXPOINTS], dy[MAXPOINTS];
- float d2x[MAXPOINTS], d2y[MAXPOINTS], d3x[MAXPOINTS], d3y[MAXPOINTS];
- float t, t2, t3;
+ double h[MAXPOINTS], dx[MAXPOINTS], dy[MAXPOINTS];
+ double d2x[MAXPOINTS], d2y[MAXPOINTS], d3x[MAXPOINTS], d3y[MAXPOINTS];
+ double t, t2, t3;
register int j;
register int k;
register int nx;
@@ -751,7 +751,7 @@ HGCurve(int *x,
if ((x[j] == x[j + 1]) && (y[j] == y[j + 1]))
continue;
for (k = 0; k <= PointsPerInterval; ++k) {
- t = (float) k *h[j] / (float) PointsPerInterval;
+ t = (double) k *h[j] / (double) PointsPerInterval;
t2 = t * t;
t3 = t * t * t;
nx = x[j] + (int) (t * dx[j] + t2 * d2x[j] / 2 + t3 * d3x[j] / 6);
@@ -779,14 +779,14 @@ HGCurve(int *x,
void
Paramaterize(int x[],
int y[],
- float h[],
+ double h[],
int n)
{
register int dx;
register int dy;
register int i;
register int j;
- float u[MAXPOINTS];
+ double u[MAXPOINTS];
for (i = 1; i <= n; ++i) {
u[i] = 0;
@@ -814,16 +814,16 @@ Paramaterize(int x[],
*----------------------------------------------------------------------------*/
void
-PeriodicSpline(float h[], /* paramaterization */
+PeriodicSpline(double h[], /* paramaterization */
int z[], /* point list */
- float dz[], /* to return the 1st derivative */
- float d2z[], /* 2nd derivative */
- float d3z[], /* 3rd derivative */
+ double dz[], /* to return the 1st derivative */
+ double d2z[], /* 2nd derivative */
+ double d3z[], /* 3rd derivative */
int npoints) /* number of valid points */
{
- float d[MAXPOINTS];
- float deltaz[MAXPOINTS], a[MAXPOINTS], b[MAXPOINTS];
- float c[MAXPOINTS], r[MAXPOINTS], s[MAXPOINTS];
+ double d[MAXPOINTS];
+ double deltaz[MAXPOINTS], a[MAXPOINTS], b[MAXPOINTS];
+ double c[MAXPOINTS], r[MAXPOINTS], s[MAXPOINTS];
int i;
/* step 1 */
@@ -886,15 +886,15 @@ PeriodicSpline(float h[], /* paramaterization */
*----------------------------------------------------------------------------*/
void
-NaturalEndSpline(float h[], /* parameterization */
+NaturalEndSpline(double h[], /* parameterization */
int z[], /* Point list */
- float dz[], /* to return the 1st derivative */
- float d2z[], /* 2nd derivative */
- float d3z[], /* 3rd derivative */
+ double dz[], /* to return the 1st derivative */
+ double d2z[], /* 2nd derivative */
+ double d3z[], /* 3rd derivative */
int npoints) /* number of valid points */
{
- float d[MAXPOINTS];
- float deltaz[MAXPOINTS], a[MAXPOINTS], b[MAXPOINTS];
+ double d[MAXPOINTS];
+ double deltaz[MAXPOINTS], a[MAXPOINTS], b[MAXPOINTS];
int i;
/* step 1 */
diff --git a/src/preproc/grn/hpoint.cpp b/src/preproc/grn/hpoint.cpp
index 8ef32494..fa24dca7 100644
--- a/src/preproc/grn/hpoint.cpp
+++ b/src/preproc/grn/hpoint.cpp
@@ -24,8 +24,8 @@ PTInit()
* into the pointlist.
*/
POINT *
-PTMakePoint(float x,
- float y,
+PTMakePoint(double x,
+ double y,
POINT **pplist)
{
register POINT *pt;
diff --git a/src/preproc/grn/main.cpp b/src/preproc/grn/main.cpp
index 605049e1..2afa925d 100644
--- a/src/preproc/grn/main.cpp
+++ b/src/preproc/grn/main.cpp
@@ -90,7 +90,7 @@ extern void HGPrintElt(ELT *element, int baseline);
extern ELT *DBInit();
extern ELT *DBRead(register FILE *file);
extern POINT *PTInit();
-extern POINT *PTMakePoint(float x, float y, POINT **pplist);
+extern POINT *PTMakePoint(double x, double y, POINT **pplist);
#define SUN_SCALEFACTOR 0.70
@@ -328,6 +328,8 @@ main(int argc,
fputs(inputline, stdout);
}
}
+
+ return 0;
}
@@ -686,8 +688,8 @@ savestate()
*----------------------------------------------------------------------------*/
void
-savebounds(float x,
- float y)
+savebounds(double x,
+ double y)
{
if (x < leftpoint)
leftpoint = x;
diff --git a/src/preproc/html/pushback.cpp b/src/preproc/html/pushback.cpp
index dd63032f..28c4aaac 100644
--- a/src/preproc/html/pushback.cpp
+++ b/src/preproc/html/pushback.cpp
@@ -274,15 +274,15 @@ int pushBackBuffer::readInt (void)
* convertToFloat - converts integers, a and b into a.b
*/
-static float convertToFloat (int a, int b)
+static double convertToFloat (int a, int b)
{
int c=10;
- float f;
+ double f;
while (b>c) {
c *= 10;
}
- f = ((float)a) + (((float)b)/((float)c));
+ f = ((double)a) + (((double)b)/((double)c));
return( f );
}
@@ -290,7 +290,7 @@ static float convertToFloat (int a, int b)
* readNumber - returns a float representing the word just read.
*/
-float pushBackBuffer::readNumber (void)
+double pushBackBuffer::readNumber (void)
{
int i;
char ch;
@@ -300,7 +300,7 @@ float pushBackBuffer::readNumber (void)
return convertToFloat(i, readInt());
}
putPB(ch);
- return (float)i;
+ return (double)i;
}
/*
diff --git a/src/preproc/html/pushback.h b/src/preproc/html/pushback.h
index 608bac53..cdc24653 100644
--- a/src/preproc/html/pushback.h
+++ b/src/preproc/html/pushback.h
@@ -1,5 +1,5 @@
// -*- C -*-
-/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
Written by Gaius Mulley (gaius@glam.ac.uk).
This file is part of groff.
@@ -39,16 +39,16 @@ class pushBackBuffer
int stdIn;
public:
- pushBackBuffer (char *);
- ~ pushBackBuffer ();
- char getPB (void);
- char putPB (char ch);
- void skipUntilToken (void);
- void skipToNewline (void);
- float readNumber (void);
- int readInt (void);
- char *readString (void);
- int isString (const char *string);
+ pushBackBuffer (char *);
+ ~ pushBackBuffer ();
+ char getPB (void);
+ char putPB (char ch);
+ void skipUntilToken (void);
+ void skipToNewline (void);
+ double readNumber (void);
+ int readInt (void);
+ char *readString (void);
+ int isString (const char *string);
};
diff --git a/src/preproc/pic/object.h b/src/preproc/pic/object.h
index 98937f93..b027b7dc 100644
--- a/src/preproc/pic/object.h
+++ b/src/preproc/pic/object.h
@@ -1,5 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1989, 1990, 1991, 1992, 2002, 2004
+ Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
This file is part of groff.
@@ -163,9 +164,9 @@ struct segment {
segment(const position &, int, segment *);
};
-struct rectangle_object;
-struct graphic_object;
-struct linear_object;
+class rectangle_object;
+class graphic_object;
+class linear_object;
struct object_spec {
unsigned long flags;
diff --git a/src/preproc/refer/refer.h b/src/preproc/refer/refer.h
index e1e0c6df..dff6bcca 100644
--- a/src/preproc/refer/refer.h
+++ b/src/preproc/refer/refer.h
@@ -1,5 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2004
+ Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
This file is part of groff.
@@ -72,6 +73,6 @@ void command_error(const char *,
const errarg &arg2 = empty_errarg,
const errarg &arg3 = empty_errarg);
-struct reference;
+class reference;
void compute_labels(reference **, int);
diff --git a/src/preproc/tbl/table.cpp b/src/preproc/tbl/table.cpp
index b93edc02..4b58b47e 100644
--- a/src/preproc/tbl/table.cpp
+++ b/src/preproc/tbl/table.cpp
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2003
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2003, 2004
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -133,9 +133,9 @@ struct horizontal_span {
horizontal_span(int, int, horizontal_span *);
};
-struct single_line_entry;
-struct double_line_entry;
-struct simple_entry;
+class single_line_entry;
+class double_line_entry;
+class simple_entry;
class table_entry {
friend class table;
diff --git a/src/preproc/tbl/table.h b/src/preproc/tbl/table.h
index 522d9b71..8ce3c922 100644
--- a/src/preproc/tbl/table.h
+++ b/src/preproc/tbl/table.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003
+/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -70,7 +70,7 @@ struct entry_format : public entry_modifier {
void debug_print() const;
};
-struct table_entry;
+class table_entry;
struct horizontal_span;
struct stuff;
struct vertical_rule;
diff --git a/src/roff/troff/div.h b/src/roff/troff/div.h
index 90755aa2..af524606 100644
--- a/src/roff/troff/div.h
+++ b/src/roff/troff/div.h
@@ -87,7 +87,7 @@ struct trap {
trap(symbol, vunits, trap *);
};
-struct output_file;
+class output_file;
class top_level_diversion : public diversion {
int page_number;
diff --git a/src/roff/troff/env.h b/src/roff/troff/env.h
index 1c276182..27f54c9c 100644
--- a/src/roff/troff/env.h
+++ b/src/roff/troff/env.h
@@ -63,7 +63,7 @@ inline int font_size::to_points()
return p/sizescale;
}
-struct environment;
+class environment;
hunits env_digit_width(environment *);
hunits env_space_width(environment *);
@@ -94,11 +94,11 @@ public:
const unsigned MARGIN_CHARACTER_ON = 1;
const unsigned MARGIN_CHARACTER_NEXT = 2;
-struct charinfo;
+class charinfo;
struct node;
struct breakpoint;
-struct font_family;
-struct pending_output_line;
+class font_family;
+class pending_output_line;
class environment {
int dummy; // dummy environment used for \w
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 66368f99..07e2cb1d 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -150,7 +150,7 @@ static symbol get_delim_name();
static void init_registers();
static void trapping_blank_line();
-struct input_iterator;
+class input_iterator;
input_iterator *make_temp_iterator(const char *);
const char *input_char_description(int);
@@ -2968,7 +2968,7 @@ node_list::~node_list()
delete_node_list(head);
}
-struct macro_header {
+class macro_header {
public:
int count;
char_list cl;
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index ef818ed7..3f24d90b 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -111,7 +111,7 @@ struct conditional_bold {
conditional_bold(int, hunits, conditional_bold * = 0);
};
-struct tfont;
+class tfont;
class font_info {
tfont *last_tfont;
diff --git a/src/roff/troff/node.h b/src/roff/troff/node.h
index 09ab6050..8da5671b 100644
--- a/src/roff/troff/node.h
+++ b/src/roff/troff/node.h
@@ -35,7 +35,7 @@ class ascii_output_file;
struct breakpoint;
struct vertical_size;
-struct charinfo;
+class charinfo;
class macro;
diff --git a/src/roff/troff/request.h b/src/roff/troff/request.h
index 0433ac1b..4e2c4c8f 100644
--- a/src/roff/troff/request.h
+++ b/src/roff/troff/request.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2004
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -41,7 +41,7 @@ void delete_request_or_macro(request_or_macro *);
extern object_dictionary request_dictionary;
-struct macro_header;
+class macro_header;
struct node;
class macro : public request_or_macro {
diff --git a/src/roff/troff/token.h b/src/roff/troff/token.h
index 9f5b069b..51557cfb 100644
--- a/src/roff/troff/token.h
+++ b/src/roff/troff/token.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2004
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -20,9 +20,9 @@ with groff; see the file COPYING. If not, write to the Free Software
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-struct charinfo;
+class charinfo;
struct node;
-struct vunits;
+class vunits;
class token {
symbol nm;
@@ -121,7 +121,7 @@ enum char_mode {
extern void do_define_character(char_mode, const char * = 0);
-struct hunits;
+class hunits;
extern void read_title_parts(node **part, hunits *part_width);
extern int get_number_rigidly(units *result, unsigned char si);
diff --git a/src/utils/indxbib/signal.c b/src/utils/indxbib/signal.c
index a8ab257f..f5a12092 100644
--- a/src/utils/indxbib/signal.c
+++ b/src/utils/indxbib/signal.c
@@ -20,6 +20,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Unfortunately vendors seem to have problems writing a <signal.h>
that is correct for C++, so we implement all signal handling in C. */
+#include <stdlib.h>
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif