]> diplodocus.org Git - nmh/blobdiff - sbr/escape_addresses.c
NEWS: Encourage nmh-announce subscription. Capitalise `Gmail'.
[nmh] / sbr / escape_addresses.c
index a484a11ed2a0667aa112fea2a0bb217860f761e5..b963236453a23523c8c331229a6a1d2a8d43a711 100644 (file)
@@ -5,22 +5,24 @@
  * complete copyright information.
  */
 
-#include <h/nmh.h>
-#include <h/utils.h>
+#include "h/mh.h"
+#include "escape_addresses.h"
+#include "h/utils.h"
 
-static void
-escape_component (char *name, size_t namesize, char *chars);
+static void escape_component (char *name, size_t namesize, char *chars);
 
 
 void
-escape_display_name (char *name, size_t namesize) {
+escape_display_name (char *name, size_t namesize)
+{
   char *specials = "\"(),.:;<>@[\\]";
   escape_component (name, namesize, specials);
 }
 
 
 void
-escape_local_part (char *name, size_t namesize) {
+escape_local_part (char *name, size_t namesize)
+{
   /* wsp (whitespace) is horizontal tab or space, according to
      RFC 5234. */
   char *specials_less_dot_plus_wsp = "  \"(),:;<>@[\\]";
@@ -33,8 +35,9 @@ escape_local_part (char *name, size_t namesize) {
    argument is modified in place.  Its size is specified by the
    namesize argument.  The need_escape argument is a string of
    characters that require that name be escaped. */
-void
-escape_component (char *name, size_t namesize, char *chars_to_escape) {
+static void
+escape_component (char *name, size_t namesize, char *chars_to_escape)
+{
     /* If name contains any chars_to_escape:
        1) enclose it in ""
        2) escape any embedded "
@@ -76,7 +79,7 @@ escape_component (char *name, size_t namesize, char *chars_to_escape) {
         if (strcmp (tmp, "\"")) {
             size_t len = destp - tmp;
             assert ((ssize_t) strlen(tmp) + 1 == destp - tmp);
-            strncpy (name, tmp, len <= namesize  ?  len  :  namesize);
+            strncpy (name, tmp, min(len, namesize));
         } else {
             /* Handle just " as special case here instead of above. */
             strncpy (name, "\"\\\"\"", namesize);