Rocco Rutte:
[apps/madmutt.git] / makedoc.c
index e660dfd..f739e23 100644 (file)
--- a/makedoc.c
+++ b/makedoc.c
@@ -114,7 +114,6 @@ static int print_it (int, char *, int);
 static void print_confline (const char *, int, const char *);
 static void handle_confline (char *);
 static void makedoc (FILE *, FILE *);
-static void pretty_default (char *, size_t, const char *, int);
 static int sgml_fputc (int);
 static int sgml_fputs (const char *);
 static void add_var (const char *);
@@ -439,7 +438,6 @@ static void handle_confline (char *s)
 {
   char varname[BUFFSIZE];
   char buff[BUFFSIZE];
-  char tmp[BUFFSIZE];
   int type;
 
   char val[BUFFSIZE];
@@ -507,80 +505,20 @@ static void handle_confline (char *s)
       return;
   }
 
-  memset (tmp, 0, sizeof (tmp));
+  memset (val, 0, sizeof (val));
 
   do {
     if (!strcmp (buff, "}"))
       break;
 
-    strncpy (tmp + STRLEN (tmp), buff, sizeof (tmp) - STRLEN (tmp));
+    strncpy (val + STRLEN (val), buff, sizeof (val) - STRLEN (val));
   }
   while ((s = get_token (buff, sizeof (buff), s)));
 
-  pretty_default (val, sizeof (val), tmp, type);
   add_var (varname);
   print_confline (varname, type, val);
 }
 
-static void pretty_default (char *t, size_t l, const char *s, int type)
-{
-  memset (t, 0, l);
-  l--;
-
-  switch (type) {
-  case DT_QUAD:
-    {
-      if (!strcasecmp (s, "M_YES"))
-        strncpy (t, "yes", l);
-      else if (!strcasecmp (s, "M_NO"))
-        strncpy (t, "no", l);
-      else if (!strcasecmp (s, "M_ASKYES"))
-        strncpy (t, "ask-yes", l);
-      else if (!strcasecmp (s, "M_ASKNO"))
-        strncpy (t, "ask-no", l);
-      break;
-    }
-  case DT_BOOL:
-    {
-      if (atoi (s))
-        strncpy (t, "yes", l);
-      else
-        strncpy (t, "no", l);
-      break;
-    }
-  case DT_SORT:
-    {
-      /* heuristic! */
-      strncpy (t, s + 5, l);
-      for (; *t; t++)
-        *t = tolower ((unsigned char) *t);
-      break;
-    }
-  case DT_MAGIC:
-    {
-      /* heuristic! */
-      strncpy (t, s + 2, l);
-      for (; *t; t++)
-        *t = tolower ((unsigned char) *t);
-      break;
-    }
-  case DT_STR:
-  case DT_RX:
-  case DT_ADDR:
-  case DT_PATH:
-    {
-      if (!strcmp (s, "0"))
-        break;
-      /* fallthrough */
-    }
-  default:
-    {
-      strncpy (t, s, l);
-      break;
-    }
-  }
-}
-
 static void char_to_escape (char *dest, unsigned int c)
 {
   switch (c) {
@@ -707,7 +645,7 @@ static void print_confline (const char *varname, int type, const char *val)
           || type == DT_PATH) {
         add_s ("\n# set ");
         add_s (varname);
-        add_s ("\"");
+        add_s ("=\"");
         conf_print_strval (val);
         add_s ("\"");
       }
@@ -765,7 +703,7 @@ static void print_confline (const char *varname, int type, const char *val)
     /* SGML based manual */
   case F_SGML:
     {
-      add_s ("\n<sect2>");
+      add_s ("\n<sect1>");
       sgml_fputs (varname);
       add_s ("<label id=\"");
       add_s (varname);
@@ -805,6 +743,7 @@ static void print_confline (const char *varname, int type, const char *val)
  **
  ** - \fI switches to italics
  ** - \fB switches to boldface
+ ** - \fT switches to typewriter for SGML
  ** - \fP switches to normal display
  ** - .dl on a line starts a definition list (name taken taken from HTML).
  ** - .dt starts a term in a definition list.
@@ -964,26 +903,27 @@ static int print_it (int special, char *str, int docstat)
       case SP_END_FT:
         {
           add_s ("\\fP");
-          docstat &= ~(D_EM | D_BF);
+          docstat &= ~(D_EM | D_BF | D_TT);
           break;
         }
       case SP_START_BF:
         {
           add_s ("\\fB");
           docstat |= D_BF;
-          docstat &= ~D_EM;
+          docstat &= ~(D_EM | D_TT);
           break;
         }
       case SP_START_EM:
         {
           add_s ("\\fI");
           docstat |= D_EM;
-          docstat &= ~D_BF;
+          docstat &= ~(D_BF | D_TT);
           break;
         }
       case SP_START_TT:
         {
           docstat |= D_TT;
+          docstat &= ~(D_BF | D_EM);
           break;
         }
       case SP_NEWLINE: