move mutt_strsysexit into lib-sys/exit.[hc]
[apps/madmutt.git] / rfc1524.c
index 026050f..cd089fc 100644 (file)
--- a/rfc1524.c
+++ b/rfc1524.c
 # include "config.h"
 #endif
 
-#include <lib-lib/mem.h>
-
-#include "mutt.h"
-#include "ascii.h"
-#include "rfc1524.h"
-#include "attach.h"
-
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
-#include "lib/debug.h"
-
 #include <string.h>
 #include <stdlib.h>
 #include <ctype.h>
 #include <errno.h>
 #include <unistd.h>
 
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/ascii.h>
+#include <lib-lib/macros.h>
+#include <lib-lib/file.h>
+#include <lib-lib/debug.h>
+
+#include "mutt.h"
+#include "rfc1524.h"
+#include "attach.h"
+
 /* The command semantics include the following:
  * %s is the filename that contains the mail body data
  * %t is the content type, like text/plain
@@ -63,7 +62,7 @@ int rfc1524_expand_command (BODY * a, char *filename, char *_type,
   char buf[LONG_STRING];
   char type[LONG_STRING];
 
-  strfcpy (type, _type, sizeof (type));
+  m_strcpy(type, sizeof(type), _type);
 
   if (option (OPTMAILCAPSANITIZE))
     mutt_sanitize_filename (type, 0);
@@ -87,7 +86,7 @@ int rfc1524_expand_command (BODY * a, char *filename, char *_type,
         param[z] = '\0';
 
         _pvalue = mutt_get_parameter (param, a->parameter);
-        strfcpy (pvalue, NONULL (_pvalue), sizeof (pvalue));
+        m_strcpy(pvalue, sizeof(pvalue), NONULL(_pvalue));
         if (option (OPTMAILCAPSANITIZE))
           mutt_sanitize_filename (pvalue, 0);
 
@@ -106,7 +105,7 @@ int rfc1524_expand_command (BODY * a, char *filename, char *_type,
       buf[y++] = command[x++];
   }
   buf[y] = '\0';
-  strfcpy (command, buf, clen);
+  m_strcpy(command, clen, buf);
 
   return needspipe;
 }
@@ -127,24 +126,23 @@ static char *get_field (char *s)
         s++;
     }
     else {
-      *ch++ = 0;
-      SKIPWS (ch);
+      *ch++ = '\0';
+      ch = vskipspaces(ch);
       break;
     }
   }
-  str_skip_trailws (s);
+  m_strrtrim(s);
   return ch;
 }
 
 static int get_field_text (char *field, char **entry,
                            char *type, char *filename, int line)
 {
-  field = str_skip_initws (field);
+  field = vskipspaces(field);
   if (*field == '=') {
     if (entry) {
-      field++;
-      field = str_skip_initws (field);
-      str_replace (entry, field);
+      field = vskipspaces(field + 1);
+      m_strreplace(entry, field);
     }
     return 1;
   }
@@ -198,14 +196,14 @@ static int rfc1524_mailcap_parse (BODY * a,
       /* check type */
       ch = get_field (buf);
       if (ascii_strcasecmp (buf, type) && (ascii_strncasecmp (buf, type, btlen) || (buf[btlen] != 0 &&  /* implicit wild */
-                                                                                    str_cmp (buf + btlen, "/*"))))  /* wildsubtype */
+                                                                                    m_strcmp(buf + btlen, "/*"))))  /* wildsubtype */
         continue;
 
       /* next field is the viewcommand */
       field = ch;
       ch = get_field (ch);
       if (entry)
-        entry->command = str_dup (field);
+        entry->command = m_strdup(field);
 
       /* parse the optional fields */
       found = TRUE;
@@ -269,8 +267,8 @@ static int rfc1524_mailcap_parse (BODY * a,
 
           if (get_field_text (field + 4, &test_command, type, filename, line)
               && test_command) {
-            len = str_len (test_command) + STRING;
-            mem_realloc (&test_command, len);
+            len = m_strlen(test_command) + STRING;
+            p_realloc(&test_command, len);
             rfc1524_expand_command (a, a->filename, type, test_command, len);
             if (mutt_system (test_command)) {
               /* a non-zero exit code means test failed */
@@ -407,7 +405,7 @@ static void strnfcpy (char *d, char *s, size_t siz, size_t len)
 {
   if (len > siz)
     len = siz - 1;
-  strfcpy (d, s, len);
+  m_strcpy(d, len, s);
 }
 
 int rfc1524_expand_filename (char *nametemplate,
@@ -432,7 +430,7 @@ int rfc1524_expand_filename (char *nametemplate,
 
   if (!nametemplate) {
     if (oldfile)
-      strfcpy (newfile, oldfile, nflen);
+      m_strcpy(newfile, nflen, oldfile);
   }
   else if (!oldfile) {
     mutt_expand_fmt (newfile, nflen, nametemplate, "mutt");
@@ -477,8 +475,8 @@ int rfc1524_expand_filename (char *nametemplate,
 
       rmatch = 1;
 
-      for (r = 0, j = str_len (oldfile) - 1, k =
-           str_len (nametemplate) - 1;
+      for (r = 0, j = m_strlen(oldfile) - 1, k =
+           m_strlen(nametemplate) - 1;
            j >= (lmatch ? i : 0) && k >= i + 2; j--, k--) {
         if (nametemplate[k] != oldfile[j]) {
           rmatch = 0;
@@ -499,13 +497,13 @@ int rfc1524_expand_filename (char *nametemplate,
       if (rmatch)
         *right = 0;
       else
-        strfcpy (right, nametemplate + i + 2, sizeof (right));
+        m_strcpy(right, sizeof(right), nametemplate + i + 2);
 
       snprintf (newfile, nflen, "%s%s%s", left, oldfile, right);
     }
     else {
       /* no "%s" in the name template. */
-      strfcpy (newfile, nametemplate, nflen);
+      m_strcpy(newfile, nflen, nametemplate);
     }
   }