Teach spost to handle address groups
[mmh] / uip / spost.c
index 780b5f4..7729e9b 100644 (file)
@@ -535,6 +535,7 @@ static void
 putadr(char *name, struct mailname *nl)
 {
        struct mailname *mp;
+       char *cp;
        int linepos;
        int namelen;
 
@@ -547,7 +548,17 @@ putadr(char *name, struct mailname *nl)
                        fprintf(out, "\n%s: ", name);
                        linepos = namelen;
                }
-               linepos = putone(mp->m_text, linepos, namelen);
+               if (mp->m_ingrp) {
+                       if (mp->m_gname != NULL) {
+                               cp = getcpy(mp->m_gname);
+                               cp = add(";", cp);
+                               linepos = putone(cp, linepos, namelen);
+                               free(cp);
+                               cp = NULL;
+                       }
+               } else {
+                       linepos = putone(mp->m_text, linepos, namelen);
+               }
                mp = mp->m_next;
        }
        putc('\n', out);