summaryrefslogtreecommitdiff
path: root/src/devices
diff options
context:
space:
mode:
authorwlemb <wlemb>2003-11-12 14:42:28 +0000
committerwlemb <wlemb>2003-11-12 14:42:28 +0000
commit71c8dd1247654c099ffa79d797df140e49897bfc (patch)
tree38e8ff8b558291d40aab8019491fdf8950cd551f /src/devices
parentd16e7b41357755f0b3aadc56a2b83828d73a7f90 (diff)
downloadgroff-71c8dd1247654c099ffa79d797df140e49897bfc.tar.gz
LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
* configure.ac: Check for vsnprintf. * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and `HAVE_VSNPRINTF'. * src/include/config.hin: Regenerated. * aclocal.m4: Updated syntax to autoconf 2.59. (GROFF_HTML_PROGRAMS): Use AC_FOREACH. Don't check for gsos2. (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides working abs_top_srcdir and abs_top_builddir. * configure.ac: Updated syntax to autoconf 2.59. Don't call GROFF_SRCDIR and GROFF_BUILDDIR. Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS. * configure: Regenerated. * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/, s/@groff_top_builddir@/@abs_top_builddir@/. * src/roff/groff/pipeline.c (xstrsignal): s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/. * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always make start angle smaller than end angle to circumvent a bug in tpic handling of some versions of dvipdfm (and dvipdfmx).
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/grodvi/dvi.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/devices/grodvi/dvi.cpp b/src/devices/grodvi/dvi.cpp
index 7a567412..9a07cdc1 100644
--- a/src/devices/grodvi/dvi.cpp
+++ b/src/devices/grodvi/dvi.cpp
@@ -820,11 +820,11 @@ void draw_dvi_printer::draw(int code, int *p, int np, const environment *env)
if (adjust_arc_center(p, c)) {
int rad = milliinches(int(sqrt(c[0]*c[0] + c[1]*c[1]) + .5));
moveto(env->hpos + int(c[0]), env->vpos + int(c[1]));
- sprintf(buf, "ar 0 0 %d %d %f %f",
- rad,
- rad,
- atan2(p[1] + p[3] - c[1], p[0] + p[2] - c[0]),
- atan2(-c[1], -c[0]));
+ double start = atan2(p[1] + p[3] - c[1], p[0] + p[2] - c[0]);
+ double end = atan2(-c[1], -c[0]);
+ if (end - start < 0)
+ start -= 2 * 3.14159265358;
+ sprintf(buf, "ar 0 0 %d %d %f %f", rad, rad, start, end);
do_special(buf);
}
else {