oops, bad formula
[apps/madmutt.git] / rfc1524.c
index ad98954..6c6d317 100644 (file)
--- a/rfc1524.c
+++ b/rfc1524.c
 # include "config.h"
 #endif
 
-#include "mutt.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 <lib-sys/unix.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
@@ -60,7 +64,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);
@@ -84,7 +88,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);
 
@@ -103,7 +107,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;
 }
@@ -124,24 +128,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;
   }
@@ -195,14 +198,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;
@@ -266,14 +269,14 @@ 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 */
               found = FALSE;
             }
-            mem_free (&test_command);
+            p_delete(&test_command);
           }
         }
       }                         /* while (ch) */
@@ -298,13 +301,13 @@ static int rfc1524_mailcap_parse (BODY * a,
       if (!found) {
         /* reset */
         if (entry) {
-          mem_free (&entry->command);
-          mem_free (&entry->composecommand);
-          mem_free (&entry->composetypecommand);
-          mem_free (&entry->editcommand);
-          mem_free (&entry->printcommand);
-          mem_free (&entry->nametemplate);
-          mem_free (&entry->convert);
+          p_delete(&entry->command);
+          p_delete(&entry->composecommand);
+          p_delete(&entry->composetypecommand);
+          p_delete(&entry->editcommand);
+          p_delete(&entry->printcommand);
+          p_delete(&entry->nametemplate);
+          p_delete(&entry->convert);
           entry->needsterminal = 0;
           entry->copiousoutput = 0;
         }
@@ -312,27 +315,27 @@ static int rfc1524_mailcap_parse (BODY * a,
     }                           /* while (!found && (buf = mutt_read_line ())) */
     fclose (fp);
   }                             /* if ((fp = fopen ())) */
-  mem_free (&buf);
+  p_delete(&buf);
   return found;
 }
 
 rfc1524_entry *rfc1524_new_entry (void)
 {
-  return (rfc1524_entry *) mem_calloc (1, sizeof (rfc1524_entry));
+  return p_new(rfc1524_entry, 1);
 }
 
 void rfc1524_free_entry (rfc1524_entry ** entry)
 {
   rfc1524_entry *p = *entry;
 
-  mem_free (&p->command);
-  mem_free (&p->testcommand);
-  mem_free (&p->composecommand);
-  mem_free (&p->composetypecommand);
-  mem_free (&p->editcommand);
-  mem_free (&p->printcommand);
-  mem_free (&p->nametemplate);
-  mem_free (entry);
+  p_delete(&p->command);
+  p_delete(&p->testcommand);
+  p_delete(&p->composecommand);
+  p_delete(&p->composetypecommand);
+  p_delete(&p->editcommand);
+  p_delete(&p->printcommand);
+  p_delete(&p->nametemplate);
+  p_delete(entry);
 }
 
 /*
@@ -404,7 +407,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,
@@ -429,7 +432,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");
@@ -474,8 +477,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;
@@ -496,17 +499,17 @@ 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);
     }
   }
 
-  mutt_adv_mktemp (newfile, nflen);
+  mutt_adv_mktemp (NULL, newfile, nflen);
 
   if (rmatch && lmatch)
     return 0;