From e35956a814ba6f407de11fd2a961ee8fa1db4ab7 Mon Sep 17 00:00:00 2001
From: ellson <devnull@localhost>
Date: Sun, 7 Sep 2008 17:42:57 +0000
Subject: [PATCH] more reasonable function names for output functions: 
 gvwrite, gvputc, gvputs, gvprintf, ...

---
 plugin/lasi/gvrender_lasi.cpp   | 199 ++++++++++++++++----------------
 plugin/pango/gvrender_pango.c   |   3 +-
 plugin/quartz/gvplugin_quartz.c |   3 +-
 3 files changed, 104 insertions(+), 101 deletions(-)

diff --git a/plugin/lasi/gvrender_lasi.cpp b/plugin/lasi/gvrender_lasi.cpp
index b7a326b06..08dedfb2c 100644
--- a/plugin/lasi/gvrender_lasi.cpp
+++ b/plugin/lasi/gvrender_lasi.cpp
@@ -26,6 +26,7 @@
 
 #include "gvplugin_render.h"
 #include "gvplugin_device.h"
+#include "gvio.h"
 #include "ps.h"
 #include "agxbuf.h"
 #include "utils.h"
@@ -111,10 +112,10 @@ static void lasi_printpointflist(GVJ_t * job, pointf A[], int n)
 
 static void lasi_begin_job(GVJ_t * job)
 {
-//    gvdevice_fputs(job, "%!PS-Adobe-3.0 EPSF-3.0\n");
-//    gvdevice_printf(job, "%%%%Creator: %s version %s (%s)\n",
+//    gvputs(job, "%!PS-Adobe-3.0 EPSF-3.0\n");
+//    gvprintf(job, "%%%%Creator: %s version %s (%s)\n",
 //	    job->common->info[0], job->common->info[1], job->common->info[2]);
-//    gvdevice_printf(job, "%%%%For: %s\n", job->common->user);
+//    gvprintf(job, "%%%%For: %s\n", job->common->user);
     doc.osHeader() << "%%Creator: " << job->common->info[0] \
 		   << " version " << job->common->info[1] \
 		   << " (" << job->common->info[2] << ")" << endl;
@@ -145,26 +146,26 @@ static void lasi_end_job(GVJ_t * job)
 	std::ostream & str_;
     } swapper(cout, output);
 
-//    gvdevice_fputs(job, "%%Trailer\n");
+//    gvputs(job, "%%Trailer\n");
     if (job->render.id != FORMAT_EPS)
-//	gvdevice_printf(job, "%%%%Pages: %d\n", job->common->viewNum);
+//	gvprintf(job, "%%%%Pages: %d\n", job->common->viewNum);
 	doc.osFooter() << "%%Pages: " << job->common->viewNum << endl;
     if (job->common->show_boxes == NULL)
         if (job->render.id != FORMAT_EPS)
-//	    gvdevice_printf(job, "%%%%BoundingBox: %d %d %d %d\n",
+//	    gvprintf(job, "%%%%BoundingBox: %d %d %d %d\n",
 //	        job->boundingBox.LL.x, job->boundingBox.LL.y,
 //	        job->boundingBox.UR.x, job->boundingBox.UR.y);
 	    doc.osFooter() << "%%BoundingBox: " << job->pageBoundingBox.LL.x << ' ' \
 						<< job->pageBoundingBox.LL.y << ' ' \
 						<< job->pageBoundingBox.UR.x << ' ' \
 						<< job->pageBoundingBox.UR.y << endl;
-//    gvdevice_fputs(job, "end\nrestore\n");
+//    gvputs(job, "end\nrestore\n");
     doc.osFooter() << "end" << endl;
     doc.osFooter() << "restore" << endl;
-//    gvdevice_fputs(job, "%%EOF\n");
+//    gvputs(job, "%%EOF\n");
 
     doc.write(cout);
-    gvdevice_fputs(job, output.str().c_str());
+    gvputs(job, output.str().c_str());
 }
 
 static void lasi_begin_graph(GVJ_t * job)
@@ -174,20 +175,20 @@ static void lasi_begin_graph(GVJ_t * job)
 //    setupLatin1 = FALSE;
 
     if (job->common->viewNum == 0) {
-//	gvdevice_printf(job, "%%%%Title: %s\n", obj->u.g->name);
+//	gvprintf(job, "%%%%Title: %s\n", obj->u.g->name);
 	doc.osBody() << "%%Title: " << obj->u.g->name << endl;
     	if (job->render.id != FORMAT_EPS)
-//	    gvdevice_fputs(job, "%%Pages: (atend)\n");
+//	    gvputs(job, "%%Pages: (atend)\n");
 	    doc.osBody() << "%%Pages: (atend)" << endl;
 	else
-//	    gvdevice_fputs(job, "%%Pages: 1\n");
+//	    gvputs(job, "%%Pages: 1\n");
 	    doc.osBody() << "%%Pages: 1" << endl;
         if (job->common->show_boxes == NULL) {
     	    if (job->render.id != FORMAT_EPS)
-//		gvdevice_fputs(job, "%%BoundingBox: (atend)\n");
+//		gvputs(job, "%%BoundingBox: (atend)\n");
 		doc.osBody() << "%%BoundingBox: (atend)" << endl;
 	    else
-//	        gvdevice_printf(job, "%%%%BoundingBox: %d %d %d %d\n",
+//	        gvprintf(job, "%%%%BoundingBox: %d %d %d %d\n",
 //	            job->pageBoundingBox.LL.x, job->pageBoundingBox.LL.y,
 //	            job->pageBoundingBox.UR.x, job->pageBoundingBox.UR.y);
 		doc.osBody() << "%%BoundingBox: " << job->pageBoundingBox.LL.x << ' ' \
@@ -195,7 +196,7 @@ static void lasi_begin_graph(GVJ_t * job)
 						  << job->pageBoundingBox.UR.x << ' ' \
 						  << job->pageBoundingBox.UR.y << endl;
 	}
-//	gvdevice_fputs(job, "%%EndComments\nsave\n");
+//	gvputs(job, "%%EndComments\nsave\n");
 	doc.osBody() << "%%EndComments" << endl;
 	doc.osBody() << "save" << endl;
         /* include shape library */
@@ -219,12 +220,12 @@ static void lasi_begin_graph(GVJ_t * job)
      * get the expected PostScript output.
      */
 //    if (!setupLatin1) {
-//	gvdevice_fputs(job, "setupLatin1\n");	/* as defined in ps header */
+//	gvputs(job, "setupLatin1\n");	/* as defined in ps header */
 //	setupLatin1 = TRUE;
 //    }
     /*  Set base URL for relative links (for Distiller >= 3.0)  */
     if (obj->url) {
-//	gvdevice_printf(job, "[ {Catalog} << /URI << /Base (%s) >> >>\n"
+//	gvprintf(job, "[ {Catalog} << /URI << /Base (%s) >> >>\n"
 //		"/PUT pdfmark\n", obj->url);
 	doc.osBody() << "[ {Catalog} << /URI << /Base (" << obj->url << ") >> >>" << endl;
 	doc.osBody() << "/PUT pdfmark" << endl;
@@ -233,7 +234,7 @@ static void lasi_begin_graph(GVJ_t * job)
 
 static void lasi_begin_layer(GVJ_t * job, char *layername, int layerNum, int numLayers)
 {
-//    gvdevice_printf(job, "%d %d setlayer\n", layerNum, numLayers);
+//    gvprintf(job, "%d %d setlayer\n", layerNum, numLayers);
     doc.osBody() << layerNum << ' ' << numLayers << "setlayer" << endl;
 }
 
@@ -241,36 +242,36 @@ static void lasi_begin_page(GVJ_t * job)
 {
     box pbr = job->pageBoundingBox;
 
-//    gvdevice_printf(job, "%%%%Page: %d %d\n",
+//    gvprintf(job, "%%%%Page: %d %d\n",
 //	    job->common->viewNum + 1, job->common->viewNum + 1);
     doc.osBody() << "%%Page: " << (job->common->viewNum + 1) << ' ' << (job->common->viewNum + 1) << endl;
     if (job->common->show_boxes == NULL)
-//	gvdevice_printf(job, "%%%%PageBoundingBox: %d %d %d %d\n",
+//	gvprintf(job, "%%%%PageBoundingBox: %d %d %d %d\n",
 //	    pbr.LL.x, pbr.LL.y, pbr.UR.x, pbr.UR.y);
 	doc.osBody() << "%%PageBoundingBox: " << pbr.LL.x << ' ' \
 					      << pbr.LL.y << ' ' \
 					      << pbr.UR.x << ' ' \
 					      << pbr.UR.y << endl;
-//    gvdevice_printf(job, "%%%%PageOrientation: %s\n",
+//    gvprintf(job, "%%%%PageOrientation: %s\n",
 //	    (job->rotation ? "Landscape" : "Portrait"));
     doc.osBody() << "%%PageOrientation: " << (job->rotation ? "Landscape" : "Portrait") << endl;
     if (job->render.id == FORMAT_PS2)
-//	gvdevice_printf(job, "<< /PageSize [%d %d] >> setpagedevice\n",
+//	gvprintf(job, "<< /PageSize [%d %d] >> setpagedevice\n",
 //	    pbr.UR.x, pbr.UR.y);
 	doc.osBody() << "<< /PageSize [" << pbr.UR.x << ' ' \
 					 << pbr.UR.y << "]  >> setpagedevice" << endl;
-//    gvdevice_printf(job, "%d %d %d beginpage\n",
+//    gvprintf(job, "%d %d %d beginpage\n",
 //	job->pagesArrayElem.x, job->pagesArrayElem.y, job->numPages);
     doc.osBody() << job->pagesArrayElem.x << ' ' << job->pagesArrayElem.y << ' ' << job->numPages \
 		 << " beginpage" << endl;
     if (job->common->show_boxes == NULL)
-//	gvdevice_printf(job, "gsave\n%d %d %d %d boxprim clip newpath\n",
+//	gvprintf(job, "gsave\n%d %d %d %d boxprim clip newpath\n",
 //	    pbr.LL.x, pbr.LL.y, pbr.UR.x-pbr.LL.x, pbr.UR.y-pbr.LL.y);
 	doc.osBody() << "gsave" << endl;
 	doc.osBody() << pbr.LL.x << ' ' << pbr.LL.y << ' ' \
 		     << pbr.UR.x << ' ' << pbr.UR.y << " boxprim clip newpath" << endl;
 	
-//    gvdevice_printf(job, "%g %g set_scale %d rotate %g %g translate\n",
+//    gvprintf(job, "%g %g set_scale %d rotate %g %g translate\n",
 //	    job->scale.x, job->scale.y,
 //	    job->rotation,
 //	    job->translation.x, job->translation.y);
@@ -284,7 +285,7 @@ static void lasi_begin_page(GVJ_t * job)
 	    job->common->errorfn("canvas size (%d,%d) exceeds PDF limit (%d)\n"
 		  "\t(suggest setting a bounding box size, see dot(1))\n",
 		  pbr.UR.x, pbr.UR.y, PDFMAX);
-//	gvdevice_printf(job, "[ /CropBox [%d %d %d %d] /PAGES pdfmark\n",
+//	gvprintf(job, "[ /CropBox [%d %d %d %d] /PAGES pdfmark\n",
 //		pbr.LL.x, pbr.LL.y, pbr.UR.x, pbr.UR.y);
     doc.osBody() << "[ /CropBox [" << pbr.LL.x << ' ' \
 				   << pbr.LL.y << ' ' \
@@ -296,16 +297,16 @@ static void lasi_begin_page(GVJ_t * job)
 static void lasi_end_page(GVJ_t * job)
 {
     if (job->common->show_boxes) {
-//	gvdevice_fputs(job, "0 0 0 edgecolor\n");
+//	gvputs(job, "0 0 0 edgecolor\n");
 	doc.osBody() << "0 0 0 edgecolor" << endl;
 	cat_libfile(job, NULL, job->common->show_boxes + 1);
     }
     /* the showpage is really a no-op, but at least one PS processor
      * out there needs to see this literal token.  endpage does the real work.
      */
-//    gvdevice_fputs(job, "endpage\nshowpage\ngrestore\n");
-//    gvdevice_fputs(job, "%%PageTrailer\n");
-//    gvdevice_printf(job, "%%%%EndPage: %d\n", job->common->viewNum);
+//    gvputs(job, "endpage\nshowpage\ngrestore\n");
+//    gvputs(job, "%%PageTrailer\n");
+//    gvprintf(job, "%%%%EndPage: %d\n", job->common->viewNum);
     doc.osBody() << "endpage" << endl;
     doc.osBody() << "showpage" << endl;
     doc.osBody() << "grestore" << endl;
@@ -316,40 +317,40 @@ static void lasi_begin_cluster(GVJ_t * job)
 {
     obj_state_t *obj = job->obj;
 
-//    gvdevice_printf(job, "%% %s\n", obj->u.sg->name);
-//    gvdevice_fputs(job, "gsave\n");
+//    gvprintf(job, "%% %s\n", obj->u.sg->name);
+//    gvputs(job, "gsave\n");
     doc.osBody() << "% " << obj->u.sg->name << endl;
     doc.osBody() << "gsave" << endl;
 }
 
 static void lasi_end_cluster(GVJ_t * job)
 {
-//    gvdevice_fputs(job, "grestore\n");
+//    gvputs(job, "grestore\n");
     doc.osBody() << "grestore" << endl;
 }
 
 static void lasi_begin_node(GVJ_t * job)
 {
-//    gvdevice_fputs(job, "gsave\n");
+//    gvputs(job, "gsave\n");
     doc.osBody() << "gsave" << endl;
 }
 
 static void lasi_end_node(GVJ_t * job)
 {
-//    gvdevice_fputs(job, "grestore\n");
+//    gvputs(job, "grestore\n");
     doc.osBody() << "grestore" << endl;
 }
 
 static void
 lasi_begin_edge(GVJ_t * job)
 {
-//    gvdevice_fputs(job, "gsave\n");
+//    gvputs(job, "gsave\n");
     doc.osBody() << "gsave" << endl;
 }
 
 static void lasi_end_edge(GVJ_t * job)
 {
-//    gvdevice_fputs(job, "grestore\n");
+//    gvputs(job, "grestore\n");
     doc.osBody() << "grestore" << endl;
 }
 
@@ -358,10 +359,10 @@ static void lasi_begin_anchor(GVJ_t *job, char *url, char *tooltip, char *target
     obj_state_t *obj = job->obj;
 
     if (url && obj->url_map_p) {
-//	gvdevice_fputs(job, "[ /Rect [ ");
-//	gvdevice_printpointflist(job, obj->url_map_p, 2);
-//	gvdevice_fputs(job, " ]\n");
-//	gvdevice_printf(job, "  /Border [ 0 0 0 ]\n"
+//	gvputs(job, "[ /Rect [ ");
+//	gvprintpointflist(job, obj->url_map_p, 2);
+//	gvputs(job, " ]\n");
+//	gvprintf(job, "  /Border [ 0 0 0 ]\n"
 //		"  /Action << /Subtype /URI /URI %s >>\n"
 //		"  /Subtype /Link\n"
 //		"/ANN pdfmark\n",
@@ -381,8 +382,8 @@ static void ps_set_pen_style(GVJ_t *job)
     double penwidth = job->obj->penwidth;
     char *p, *line, **s = job->obj->rawstyle;
 
-//    gvdevice_printnum(job, penwidth);
-//    gvdevice_fputs(job," setlinewidth\n");
+//    gvprintnum(job, penwidth);
+//    gvputs(job," setlinewidth\n");
     doc.osBody() << penwidth << " setlinewidth" << endl;
 
     while (s && (p = line = *s++)) {
@@ -392,7 +393,7 @@ static void ps_set_pen_style(GVJ_t *job)
 	    p++;
 	p++;
 	while (*p) {
-//	    gvdevice_printf(job,"%s ", p);
+//	    gvprintf(job,"%s ", p);
 	    doc.osBody() << p << ' ';
 	    while (*p)
 		p++;
@@ -400,7 +401,7 @@ static void ps_set_pen_style(GVJ_t *job)
 	}
 	if (strcmp(line, "invis") == 0)
 	    job->obj->penwidth = 0;
-//	gvdevice_printf(job, "%s\n", line);
+//	gvprintf(job, "%s\n", line);
 	doc.osBody() << line << endl;
     }
 }
@@ -425,7 +426,7 @@ static void ps_set_color(GVJ_t *job, gvcolor_t *color)
 		objtype = "sethsb";
 		break;
 	}
-//	gvdevice_printf(job, "%.3f %.3f %.3f %scolor\n",
+//	gvprintf(job, "%.3f %.3f %.3f %scolor\n",
 //	    color->u.HSVA[0], color->u.HSVA[1], color->u.HSVA[2], objtype);
 	doc.osBody() << color->u.HSVA[0] << ' ' << color->u.HSVA[1] << ' ' << color->u.HSVA[2] << ' ' << objtype << "color" << endl;
     }
@@ -454,8 +455,8 @@ static void lasi_textpara(GVJ_t * job, pointf p, textpara_t * para)
 //fprintf(stderr,"pango_font=\"%s\"\n", pango_font_description_get_family(pango_font));
 
     ps_set_color(job, &(job->obj->pencolor));
-//    gvdevice_printnum(job, para->fontsize);
-//    gvdevice_printf(job, " /%s set_font\n", para->fontname);
+//    gvprintnum(job, para->fontsize);
+//    gvprintf(job, " /%s set_font\n", para->fontname);
     doc.osBody() << setFont(font) << setFontSize(para->fontsize) << endl;
     switch (para->just) {
     case 'r':
@@ -470,13 +471,13 @@ static void lasi_textpara(GVJ_t * job, pointf p, textpara_t * para)
         break;
     }
     p.y += para->yoffset_centerline;
-//    gvdevice_printpointf(job, p);
-//    gvdevice_fputs(job, " moveto ");
+//    gvprintpointf(job, p);
+//    gvputs(job, " moveto ");
     lasi_printpointf(job, p);
     doc.osBody() << "moveto" << endl;
-//    gvdevice_printnum(job, para->width);
+//    gvprintnum(job, para->width);
 //    str = ps_string(para->str,isLatin1);
-//    gvdevice_printf(job, " %s alignedtext\n", str);
+//    gvprintf(job, " %s alignedtext\n", str);
     doc.osBody() << show(para->str) << endl;
 
 }
@@ -492,16 +493,16 @@ static void lasi_ellipse(GVJ_t * job, pointf * A, int filled)
 
     if (filled && job->obj->fillcolor.u.HSVA[3] > .5) {
 	ps_set_color(job, &(job->obj->fillcolor));
-//	gvdevice_printpointflist(job, AA, 2);
-//	gvdevice_fputs(job, " ellipse_path fill\n");
+//	gvprintpointflist(job, AA, 2);
+//	gvputs(job, " ellipse_path fill\n");
         lasi_printpointflist(job, AA, 2);
         doc.osBody() << "ellipse_path fill" << endl;
     }
     if (job->obj->pencolor.u.HSVA[3] > .5) {
 	ps_set_pen_style(job);
 	ps_set_color(job, &(job->obj->pencolor));
-//	gvdevice_printpointflist(job, AA, 2);
-//	gvdevice_fputs(job, " ellipse_path stroke\n");
+//	gvprintpointflist(job, AA, 2);
+//	gvputs(job, " ellipse_path stroke\n");
         lasi_printpointflist(job, AA, 2);
         doc.osBody() << "ellipse_path stroke" << endl;
     }
@@ -515,37 +516,37 @@ lasi_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start,
 
     if (filled && job->obj->fillcolor.u.HSVA[3] > .5) {
 	ps_set_color(job, &(job->obj->fillcolor));
-//	gvdevice_fputs(job, "newpath ");
-//	gvdevice_printpointf(job, A[0]);
-//	gvdevice_fputs(job, " moveto\n");
+//	gvputs(job, "newpath ");
+//	gvprintpointf(job, A[0]);
+//	gvputs(job, " moveto\n");
 	doc.osBody() << "newpath ";
 	lasi_printpointf(job, A[0]);
 	doc.osBody() << "moveto" << endl;
 	for (j = 1; j < n; j += 3) {
-//	    gvdevice_printpointflist(job, &A[j], 3);
-//	    gvdevice_fputs(job, " curveto\n");
+//	    gvprintpointflist(job, &A[j], 3);
+//	    gvputs(job, " curveto\n");
 	    lasi_printpointflist(job, &A[j], 3);
 	    doc.osBody() << "curveto" << endl;
 	}
-//	gvdevice_fputs(job, "closepath fill\n");
+//	gvputs(job, "closepath fill\n");
 	doc.osBody() << "closepath fill" << endl;
     }
     if (job->obj->pencolor.u.HSVA[3] > .5) {
 	ps_set_pen_style(job);
 	ps_set_color(job, &(job->obj->pencolor));
-//	gvdevice_fputs(job, "newpath ");
-//	gvdevice_printpointf(job, A[0]);
-//	gvdevice_fputs(job, " moveto\n");
+//	gvputs(job, "newpath ");
+//	gvprintpointf(job, A[0]);
+//	gvputs(job, " moveto\n");
 	doc.osBody() << "newpath ";
 	lasi_printpointf(job, A[0]);
 	doc.osBody() << "moveto" << endl;
 	for (j = 1; j < n; j += 3) {
-//	    gvdevice_printpointflist(job, &A[j], 3);
-//	    gvdevice_fputs(job, " curveto\n");
+//	    gvprintpointflist(job, &A[j], 3);
+//	    gvputs(job, " curveto\n");
 	    lasi_printpointflist(job, &A[j], 3);
 	    doc.osBody() << "curveto" << endl;
 	}
-//	gvdevice_fputs(job, "stroke\n");
+//	gvputs(job, "stroke\n");
 	doc.osBody() << "stroke" << endl;
     }
 }
@@ -556,37 +557,37 @@ static void lasi_polygon(GVJ_t * job, pointf * A, int n, int filled)
 
     if (filled && job->obj->fillcolor.u.HSVA[3] > .5) {
 	ps_set_color(job, &(job->obj->fillcolor));
-//	gvdevice_fputs(job, "newpath ");
-//	gvdevice_printpointf(job, A[0]);
-//	gvdevice_fputs(job, " moveto\n");
+//	gvputs(job, "newpath ");
+//	gvprintpointf(job, A[0]);
+//	gvputs(job, " moveto\n");
 	doc.osBody() << "newpath ";
 	lasi_printpointf(job, A[0]);
 	doc.osBody() << "moveto" << endl;
 	for (j = 1; j < n; j++) {
-//	    gvdevice_printpointf(job, A[j]);
-//	    gvdevice_fputs(job, " lineto\n");
+//	    gvprintpointf(job, A[j]);
+//	    gvputs(job, " lineto\n");
 	    lasi_printpointf(job, A[j]);
 	    doc.osBody() << "lineto" << endl;
         }
-//	gvdevice_fputs(job, "closepath fill\n");
+//	gvputs(job, "closepath fill\n");
 	doc.osBody() << "closepath fill" << endl;
     }
     if (job->obj->pencolor.u.HSVA[3] > .5) {
 	ps_set_pen_style(job);
 	ps_set_color(job, &(job->obj->pencolor));
-//	gvdevice_fputs(job, "newpath ");
-//	gvdevice_printpointf(job, A[0]);
-//	gvdevice_fputs(job, " moveto\n");
+//	gvputs(job, "newpath ");
+//	gvprintpointf(job, A[0]);
+//	gvputs(job, " moveto\n");
 	doc.osBody() << "newpath ";
 	lasi_printpointf(job, A[0]);
 	doc.osBody() << "moveto" << endl;
         for (j = 1; j < n; j++) {
-//	    gvdevice_printpointf(job, A[j]);
-//	    gvdevice_fputs(job, " lineto\n");
+//	    gvprintpointf(job, A[j]);
+//	    gvputs(job, " lineto\n");
 	    lasi_printpointf(job, A[j]);
 	    doc.osBody() << "lineto" << endl;
 	}
-//	gvdevice_fputs(job, "closepath stroke\n");
+//	gvputs(job, "closepath stroke\n");
 	doc.osBody() << "closepath stroke" << endl;
     }
 }
@@ -598,28 +599,28 @@ static void lasi_polyline(GVJ_t * job, pointf * A, int n)
     if (job->obj->pencolor.u.HSVA[3] > .5) {
 	ps_set_pen_style(job);
 	ps_set_color(job, &(job->obj->pencolor));
-//	gvdevice_fputs(job, "newpath ");
-//	gvdevice_printpointf(job, A[0]);
-//	gvdevice_fputs(job, " moveto\n");
+//	gvputs(job, "newpath ");
+//	gvprintpointf(job, A[0]);
+//	gvputs(job, " moveto\n");
 	doc.osBody() << "newpath ";
 	lasi_printpointf(job, A[0]);
 	doc.osBody() << "moveto" << endl;
         for (j = 1; j < n; j++) {
-//	    gvdevice_printpointf(job, A[j]);
-//	    gvdevice_fputs(job, " lineto\n");
+//	    gvprintpointf(job, A[j]);
+//	    gvputs(job, " lineto\n");
 	    lasi_printpointf(job, A[j]);
 	    doc.osBody() << "lineto" << endl;
 	}
-//	gvdevice_fputs(job, "stroke\n");
+//	gvputs(job, "stroke\n");
 	doc.osBody() << "stroke" << endl;
     }
 }
 
 static void lasi_comment(GVJ_t * job, char *str)
 {
-//    gvdevice_fputs(job, "% ");
-//    gvdevice_fputs(job, str);
-//    gvdevice_fputs(job, "\n");
+//    gvputs(job, "% ");
+//    gvputs(job, str);
+//    gvputs(job, "\n");
     doc.osBody() << "% " << str << endl;
 }
 
@@ -627,11 +628,11 @@ static void lasi_library_shape(GVJ_t * job, char *name, pointf * A, int n, int f
 {
     if (filled && job->obj->fillcolor.u.HSVA[3] > .5) {
 	ps_set_color(job, &(job->obj->fillcolor));
-//	gvdevice_fputs(job, "[ ");
-//	gvdevice_printpointflist(job, A, n);
-//	gvdevice_fputs(job, " ");
-//	gvdevice_printpointf(job, A[0]);
-//	gvdevice_printf(job, " ]  %d true %s\n", n, name);
+//	gvputs(job, "[ ");
+//	gvprintpointflist(job, A, n);
+//	gvputs(job, " ");
+//	gvprintpointf(job, A[0]);
+//	gvprintf(job, " ]  %d true %s\n", n, name);
 	doc.osBody() << "[ ";
 	lasi_printpointflist(job, A, n);
 	lasi_printpointf(job, A[0]);
@@ -640,11 +641,11 @@ static void lasi_library_shape(GVJ_t * job, char *name, pointf * A, int n, int f
     if (job->obj->pencolor.u.HSVA[3] > .5) {
         ps_set_pen_style(job);
         ps_set_color(job, &(job->obj->pencolor));
-//	gvdevice_fputs(job, "[ ");
-//	gvdevice_printpointflist(job, A, n);
-//	gvdevice_fputs(job, " ");
-//	gvdevice_printpointf(job, A[0]);
-//	gvdevice_printf(job, " ]  %d false %s\n", n, name);
+//	gvputs(job, "[ ");
+//	gvprintpointflist(job, A, n);
+//	gvputs(job, " ");
+//	gvprintpointf(job, A[0]);
+//	gvprintf(job, " ]  %d false %s\n", n, name);
 	doc.osBody() << "[ ";
 	lasi_printpointflist(job, A, n);
 	lasi_printpointf(job, A[0]);
diff --git a/plugin/pango/gvrender_pango.c b/plugin/pango/gvrender_pango.c
index 47454ef0d..ffbb597b6 100644
--- a/plugin/pango/gvrender_pango.c
+++ b/plugin/pango/gvrender_pango.c
@@ -27,6 +27,7 @@
 
 #include "gvplugin_render.h"
 #include "gvplugin_device.h"
+#include "gvio.h"
 
 #ifdef HAVE_PANGOCAIRO
 #include <pango/pangocairo.h>
@@ -71,7 +72,7 @@ static void cairogen_set_color(cairo_t * cr, gvcolor_t * color)
 static cairo_status_t
 writer (void *closure, const unsigned char *data, unsigned int length)
 {
-    if (length == gvdevice_write((GVJ_t *)closure, (const char*)data, length))
+    if (length == gvwrite((GVJ_t *)closure, (const char*)data, length))
 	return CAIRO_STATUS_SUCCESS;
     return CAIRO_STATUS_WRITE_ERROR;
 }
diff --git a/plugin/quartz/gvplugin_quartz.c b/plugin/quartz/gvplugin_quartz.c
index ae2e9f512..bfc0b6c4c 100644
--- a/plugin/quartz/gvplugin_quartz.c
+++ b/plugin/quartz/gvplugin_quartz.c
@@ -15,6 +15,7 @@
 **********************************************************/
 
 #include "gvplugin.h"
+#include "gvio.h"
 #include "gvplugin_device.h"
 #include "gvplugin_quartz.h"
 
@@ -45,7 +46,7 @@ CFStringRef format_uti [] = {
 
 static size_t device_data_consumer_put_bytes (void *info, const void *buffer, size_t count)
 {
-	return gvdevice_write((GVJ_t *)info, (const char*)buffer, count);
+	return gvwrite((GVJ_t *)info, (const char*)buffer, count);
 }
 
 CGDataConsumerCallbacks device_data_consumer_callbacks = {
-- 
2.40.0