Reworked passing of envars to Pinentry.
[gnupg.git] / doc / yat2m.c
index e250db4..a936fef 100644 (file)
@@ -1,10 +1,10 @@
 /* yat2m.c - Yet Another Texi 2 Man converter
  *     Copyright (C) 2005 g10 Code GmbH
- *      Copyright (C) 2006 2006 Free Software Foundation, Inc.
+ *      Copyright (C) 2006, 2008 Free Software Foundation, Inc.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
@@ -13,9 +13,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
@@ -44,7 +42,7 @@
     the next input line if that line begins with @section, @subsection or
     @chapheading.
 
-    To insert verbatim troff markup, the follwing texinfo code may be
+    To insert verbatim troff markup, the following texinfo code may be
     used:
 
       @ifset manverb
@@ -89,7 +87,7 @@
 
 
 #define PGM "yat2m"
-#define VERSION "0.5"
+#define VERSION "1.0"
 
 /* The maximum length of a line including the linefeed and one extra
    character. */
@@ -416,6 +414,8 @@ write_th (FILE *fp)
 {
   char *name, *p;
 
+  fputs (".\\\" Created from Texinfo source by yat2m " VERSION "\n", fp);
+
   name = ascii_strupr (xstrdup (thepage.name));
   p = strrchr (name, '.');
   if (!p || !p[1])
@@ -451,9 +451,9 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len,
     { "code",    0, "\\fB", "\\fR" },
     { "sc",      0, "\\fB", "\\fR" },
     { "var",     0, "\\fI", "\\fR" },
-    { "samp",    0, "\n'",  "'\n"  },
-    { "file",    0, "`\\fI","\\fR'" }, 
-    { "env",     0, "`\\fI","\\fR'" }, 
+    { "samp",    0, "\\(aq", "\\(aq"  },
+    { "file",    0, "\\(oq\\fI","\\fR\\(cq" }, 
+    { "env",     0, "\\(oq\\fI","\\fR\\(cq" }, 
     { "acronym", 0 },
     { "dfn",     0 },
     { "option",  0, "\\fB", "\\fR"   },
@@ -677,6 +677,8 @@ proc_texi_buffer (FILE *fp, const char *line, size_t len,
             }
           *eol_action = 0;
         }
+      else if (*s == '\\')
+        fputs ("\\\\", fp);
       else
         putc (*s, fp);
     }
@@ -755,7 +757,7 @@ static void
 finish_page (void)
 {
   FILE *fp;
-  section_buffer_t sect;
+  section_buffer_t sect = NULL;
   int idx;
   const char *s;
   int i;
@@ -844,7 +846,7 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause)
 {
   char *line;
   int lnr = 0;
-  /* Fixme: The follwing state variables don't carry over to include
+  /* Fixme: The following state variables don't carry over to include
      files. */
   int in_verbatim = 0;
   int skip_to_end = 0;        /* Used to skip over menu entries. */