less warnings
[apps/madmutt.git] / buffer.c
index e8c638f..9bd412b 100644 (file)
--- a/buffer.c
+++ b/buffer.c
@@ -49,7 +49,7 @@ BUFFER *mutt_buffer_init (BUFFER * b)
  * Disregards the 'destroy' flag, which seems reserved for caller.
  * This is bad, but there's no apparent protocol for it.
  */
-BUFFER *mutt_buffer_from (BUFFER * b, char *seed)
+BUFFER *mutt_buffer_from (BUFFER * b, const char *seed)
 {
   if (!seed)
     return NULL;
@@ -115,7 +115,7 @@ int mutt_extract_token (BUFFER * dest, BUFFER * tok, int flags)
           (ch == '#' && !(flags & M_TOKEN_COMMENT)) ||
           (ch == '=' && (flags & M_TOKEN_EQUAL)) ||
           (ch == ';' && !(flags & M_TOKEN_SEMICOLON)) ||
-          ((flags & M_TOKEN_PATTERN) && strchr ("~!|", ch)))
+          ((flags & M_TOKEN_PATTERN) && strchr ("~=!|", ch)))
         break;
     }
 
@@ -257,8 +257,12 @@ int mutt_extract_token (BUFFER * dest, BUFFER * tok, int flags)
         var = str_substrdup (tok->dptr, pc);
         tok->dptr = pc;
       }
-      if (var && (env = getenv (var)))
-        mutt_buffer_addstr (dest, env);
+      if (var) {
+        char tmp[STRING];
+        if ((env = getenv (var)) || 
+            (mutt_option_value (var, tmp, sizeof (tmp)) && (env = tmp)))
+          mutt_buffer_addstr (dest, env);
+      }
       mem_free (&var);
     }
     else