remove unused code, simplifications, missing include
[apps/madmutt.git] / muttlib.c
index f7449df..6ac6dba 100644 (file)
--- a/muttlib.c
+++ b/muttlib.c
@@ -466,59 +466,47 @@ void mutt_pretty_size (char *s, ssize_t len, long n)
   }
 }
 
-void mutt_expand_file_fmt (char *dest, ssize_t destlen, const char *fmt,
-                           const char *src)
+void mutt_expand_file_fmt(char *dest, ssize_t destlen,
+                          const char *fmt, const char *src)
 {
-  char tmp[LONG_STRING];
+    char tmp[LONG_STRING];
 
-  mutt_quote_filename (tmp, sizeof (tmp), src);
-  mutt_expand_fmt (dest, destlen, fmt, tmp);
+    mutt_quote_filename(tmp, sizeof(tmp), src);
+    mutt_expand_fmt(dest, destlen, fmt, tmp);
 }
 
-void mutt_expand_fmt (char *dest, ssize_t destlen, const char *fmt,
-                      const char *src)
+void mutt_expand_fmt(char *dst, ssize_t dlen,
+                     const char *fmt, const char *src)
 {
-  const char *p;
-  char *d;
-  ssize_t slen;
-  int found = 0;
-
-  slen = m_strlen(src);
-  destlen--;
-
-  for (p = fmt, d = dest; destlen && *p; p++) {
-    if (*p == '%') {
-      switch (p[1]) {
-      case '%':
-        *d++ = *p++;
-        destlen--;
-        break;
-      case 's':
-        found = 1;
-        m_strcpy(d, destlen + 1, src);
-        d += destlen > slen ? slen : destlen;
-        destlen -= destlen > slen ? slen : destlen;
-        p++;
-        break;
-      default:
-        *d++ = *p;
-        destlen--;
-        break;
-      }
-    }
-    else {
-      *d++ = *p;
-      destlen--;
+    ssize_t pos = 0;
+    int found = 0;
+
+    while (*fmt && pos < dlen - 1) {
+        if (*fmt == '%') {
+            switch (*++fmt) {
+              case 's':
+                found = 1;
+                pos += m_strcpy(dst + pos, dlen - pos, src);
+                break;
+
+              case '%':
+                dst[pos++] = *fmt++;
+                break;
+
+              default:
+                dst[pos++] = '%';
+                break;
+            }
+        } else {
+            dst[pos++] = *fmt++;
+        }
     }
-  }
-
-  *d = '\0';
-
-  if (!found && destlen > 0) {
-    m_strcat(dest, destlen, " ");
-    m_strcat(dest, destlen, src);
-  }
 
+    dst[pos] = '\0';
+    if (!found) {
+        pos += m_strcpy(dst + pos, dlen - pos, " ");
+        pos += m_strcpy(dst + pos, dlen - pos, src);
+    }
 }
 
 /* return 0 on success, -1 on abort, 1 on error */
@@ -591,51 +579,31 @@ int mutt_check_overwrite (const char *attname, const char *path,
   return 0;
 }
 
-void mutt_save_path (char *d, ssize_t dsize, address_t * a)
+void mutt_save_path(char *d, ssize_t dsize, address_t *a)
 {
-  if (a && a->mailbox) {
-    m_strcpy(d, dsize, a->mailbox);
-    if (!option (OPTSAVEADDRESS)) {
-      char *p;
+    if (a && a->mailbox) {
+        m_strcpy(d, dsize, a->mailbox);
 
-      if ((p = strpbrk (d, "%@")))
-        *p = 0;
+        if (!option(OPTSAVEADDRESS)) {
+            char *p = strpbrk(d, "%@");
+            if (p)
+                *p = '\0';
+        }
+        m_strtolower(d);
+    } else {
+        *d = '\0';
     }
-    m_strtolower(d);
-  }
-  else
-    *d = 0;
 }
 
-void mutt_safe_path (char *s, ssize_t l, address_t * a)
+void mutt_safe_path(char *s, ssize_t l, address_t *a)
 {
-  char *p;
+    mutt_save_path(s, l, a);
 
-  mutt_save_path (s, l, a);
-  for (p = s; *p; p++)
-    if (*p == '/' || ISSPACE (*p) || !IsPrint ((unsigned char) *p))
-      *p = '_';
-}
-
-/* counts how many characters in s can be skipped while none of the
- * characters of c appears */
-int mutt_skipchars (const char *s, const char *c)
-{
-  int ret = 0;
-  const char *p = s;
-
-  while (s && *s) {
-    register const char *t = c;
-
-    while (t && *t) {
-      if (*t == *s)
-        return (ret);
-      t++;
+    while (*s) {
+        if (*s == '/' || ISSPACE(*s) || !IsPrint((unsigned char)*s))
+            *s = '_';
+        s++;
     }
-    ret++;
-    s++;
-  }
-  return (m_strlen(p));
 }
 
 void mutt_FormatString (char *dest,     /* output buffer */
@@ -829,7 +797,7 @@ void mutt_FormatString (char *dest,     /* output buffer */
       col++;
     }
     else {
-      unsigned int bar = mutt_skipchars (src, "%\\");
+      unsigned int bar = strcspn(src, "%\\");
       char *bar2 = p_dupstr(src, bar);
 
       while (bar--) {
@@ -948,20 +916,9 @@ int mutt_save_confirm (const char *s, struct stat *st)
   return (ret);
 }
 
-void mutt_display_sanitize (char *s)
-{
-  for (; *s; s++) {
-    if (!IsPrint (*s))
-      *s = '?';
-  }
-}
-
 void mutt_sleep (short s)
 {
-  if (SleepTime > s)
-    sleep (SleepTime);
-  else if (s)
-    sleep (s);
+    sleep(MAX(s, SleepTime));
 }
 
 /* Decrease a file's modification time by 1 second */