I guess the pdf entities want to be escaped chars not just control caracters with...
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 10 May 2005 06:06:49 +0000 (06:06 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 10 May 2005 06:06:49 +0000 (06:06 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2/program@535 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_gfx.c

index 33621bf..9322e9e 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * RRDtool 1.2.5  Copyright by Tobi Oetiker, 1997-2005
+ * RRDtool 1.2.6  Copyright by Tobi Oetiker, 1997-2005
  ****************************************************************************
  * rrd_gfx.c  graphics wrapper for rrdtool
   **************************************************************************/
@@ -1399,7 +1399,7 @@ int       gfx_render_svg (gfx_canvas_t *canvas,
 "   \"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">\n"
 "<!--\n"
 "   SVG file created by\n"
-"        RRDtool 1.2.5 Tobias Oetiker, http://tobi.oetiker.ch\n"
+"        RRDtool 1.2.6 Tobias Oetiker, http://tobi.oetiker.ch\n"
 "\n"
 "   The width/height attributes in the outhermost svg node\n"
 "   are just default sizes for the browser which is used\n"
@@ -1567,7 +1567,7 @@ static int eps_prologue(eps_state *state)
   gfx_node_t *node;
   fputs(
     "%!PS-Adobe-3.0 EPSF-3.0\n"
-    "%%Creator: RRDtool 1.2.5 Tobias Oetiker, http://tobi.oetiker.ch\n"
+    "%%Creator: RRDtool 1.2.6 Tobias Oetiker, http://tobi.oetiker.ch\n"
     /* can't like weird chars here */
     "%%Title: (RRDtool output)\n"
     "%%DocumentData: Clean7Bit\n"
@@ -1933,11 +1933,17 @@ static void pdf_put_string_contents(pdf_buffer *buf, const char *text)
            case '(':
            case ')':
            case '\\':
+               pdf_puts(buf, "\\");
+               pdf_put(buf, p, 1);
+               break;
            case '\n':
+               pdf_puts(buf, "\\n");
+               break;
            case '\r':
+               pdf_puts(buf, "\\r");
+               break;
            case '\t':
-               pdf_puts(buf, "\\");
-               pdf_put(buf, (char)ch, 1);
+               pdf_puts(buf, "\\t");
                break;
            default:
                if (ch >= 126 || ch < 32) {
@@ -2235,7 +2241,7 @@ static void pdf_init_document(pdf_state *state)
 
 static void pdf_setup_document(pdf_state *state)
 {
-  const char *creator = "RRDtool 1.2.5 Tobias Oetiker, http://tobi.oetiker.ch";
+  const char *creator = "RRDtool 1.2.6 Tobias Oetiker, http://tobi.oetiker.ch";
   /* all objects created by now, so init code can reference them */
   /* HEADER */
   pdf_puts(&state->pdf_header, "%PDF-1.3\n");