]> git.llucax.com Git - software/mutt-debian.git/blobdiff - rfc1524.c
Imported Upstream version 1.5.21
[software/mutt-debian.git] / rfc1524.c
index 6fe0ffa1733901fd4cac22aafccf53514689e839..ff031de2fb165de0183ea903a169dfa8a1365540 100644 (file)
--- a/rfc1524.c
+++ b/rfc1524.c
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (C) 1996-2000 Michael R. Elkins <me@mutt.org>
+ * Copyright (C) 1996-2000,2003 Michael R. Elkins <me@mutt.org>
  * 
  *     This program is free software; you can redistribute it and/or modify
  *     it under the terms of the GNU General Public License as published by
  * 
  *     This program is free software; you can redistribute it and/or modify
  *     it under the terms of the GNU General Public License as published by
@@ -68,9 +68,10 @@ int rfc1524_expand_command (BODY *a, char *filename, char *_type,
   if (option (OPTMAILCAPSANITIZE))
     mutt_sanitize_filename (type, 0);
 
   if (option (OPTMAILCAPSANITIZE))
     mutt_sanitize_filename (type, 0);
 
-  while (command[x] && x<clen && y<sizeof(buf)) 
+  while (x < clen && command[x] && y < sizeof (buf) - 1)
   {
   {
-    if (command[x] == '\\') {
+    if (command[x] == '\\')
+    {
       x++;
       buf[y++] = command[x++];
     }
       x++;
       buf[y++] = command[x++];
     }
@@ -85,7 +86,7 @@ int rfc1524_expand_command (BODY *a, char *filename, char *_type,
        int z = 0;
 
        x++;
        int z = 0;
 
        x++;
-       while (command[x] && command[x] != '}' && z<sizeof(param))
+       while (command[x] && command[x] != '}' && z < sizeof (param) - 1)
          param[z++] = command[x++];
        param[z] = '\0';
        
          param[z++] = command[x++];
        param[z] = '\0';
        
@@ -203,7 +204,7 @@ static int rfc1524_mailcap_parse (BODY *a,
 
   if ((fp = fopen (filename, "r")) != NULL)
   {
 
   if ((fp = fopen (filename, "r")) != NULL)
   {
-    while (!found && (buf = mutt_read_line (buf, &buflen, fp, &line)) != NULL)
+    while (!found && (buf = mutt_read_line (buf, &buflen, fp, &line, M_CONT)) != NULL)
     {
       /* ignore comments */
       if (*buf == '#')
     {
       /* ignore comments */
       if (*buf == '#')
@@ -346,7 +347,7 @@ static int rfc1524_mailcap_parse (BODY *a,
        }
       }
     } /* while (!found && (buf = mutt_read_line ())) */
        }
       }
     } /* while (!found && (buf = mutt_read_line ())) */
-    fclose (fp);
+    safe_fclose (&fp);
   } /* if ((fp = fopen ())) */
   FREE (&buf);
   return found;
   } /* if ((fp = fopen ())) */
   FREE (&buf);
   return found;
@@ -387,7 +388,7 @@ int rfc1524_mailcap_lookup (BODY *a, char *type, rfc1524_entry *entry, int opt)
   /* rfc1524 specifies that a path of mailcap files should be searched.
    * joy.  They say 
    * $HOME/.mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap, etc
   /* rfc1524 specifies that a path of mailcap files should be searched.
    * joy.  They say 
    * $HOME/.mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap, etc
-   * and overriden by the MAILCAPS environment variable, and, just to be nice, 
+   * and overridden by the MAILCAPS environment variable, and, just to be nice,
    * we'll make it specifiable in .muttrc
    */
   if (!curr || !*curr)
    * we'll make it specifiable in .muttrc
    */
   if (!curr || !*curr)
@@ -581,12 +582,12 @@ int mutt_rename_file (char *oldfile, char *newfile)
     return 3;
   if ((nfp = safe_fopen (newfile,"w")) == NULL)
   {
     return 3;
   if ((nfp = safe_fopen (newfile,"w")) == NULL)
   {
-    fclose(ofp);
+    safe_fclose (&ofp);
     return 3;
   }
   mutt_copy_stream (ofp,nfp);
     return 3;
   }
   mutt_copy_stream (ofp,nfp);
-  fclose (nfp);
-  fclose (ofp);
+  safe_fclose (&nfp);
+  safe_fclose (&ofp);
   mutt_unlink (oldfile);
   return 0;
 }
   mutt_unlink (oldfile);
   return 0;
 }