5b02045
--- a2ps-4.13/lib/psgen.c.mb	2006-10-25 16:16:44.000000000 +0100
5b02045
+++ a2ps-4.13/lib/psgen.c	2006-10-25 16:18:54.000000000 +0100
5b02045
@@ -97,7 +97,8 @@
5b02045
   fprintf(stderr,"%d\n",job->status->face);
5b02045
   if (encoding_char_exists (job->encoding, job->status->face, c)
5b02045
       && ((0177 < c) || (c < 040))) {
5b02045
-    sprintf ((char *)res, "%s\\%o", res, c);
5b02045
+    char *p = res + strlen (res);
5b02045
+    sprintf (p, "\\%o", c);
5b02045
     return 1;
5b02045
   }
5b02045
 
5b02045
@@ -894,8 +895,8 @@
5b02045
   if (c > 127 && encoding_get_composite_flag (job->encoding) &&
5b02045
       job->status->face != Symbol) {
5b02045
     if (mb_flag) {
5b02045
-        nchars = ps_escape_char (job, mb_flag, buf) + 
5b02045
-	         ps_escape_char (job, c, buf);
5b02045
+        nchars = ps_escape_char (job, mb_flag, buf);
5b02045
+	nchars += ps_escape_char (job, c, buf);
5b02045
 	job->status->wx += char_composite_WX(job, c);
5b02045
 	job->status->column += nchars;
5b02045
 	if (line_full) {