Rocco Rutte:
[apps/madmutt.git] / commands.c
index 2a4c7be..3eea904 100644 (file)
@@ -823,126 +823,6 @@ int mutt_save_message (HEADER * h, int delete,
   return -1;
 }
 
-int mutt_update_list_file (char *filename, char *section, char *key,
-                           char *line)
-{
-  FILE *ifp;
-  FILE *ofp;
-  char buf[HUGE_STRING];
-  char oldfile[_POSIX_PATH_MAX];
-  char *c;
-  int ext = 0, done = 0, r = 0;
-
-  snprintf (oldfile, sizeof (oldfile), "%s.bak", filename);
-  debug_print (1, ("Renaming %s to %s\n", filename, oldfile));
-
-  /* if file not exist, create it */
-  if ((ifp = safe_fopen (filename, "a")))
-    fclose (ifp);
-  if (_mutt_rename_file (filename, oldfile, 1)) {
-    mutt_perror (_("Unable to create backup file"));
-
-    return (-1);
-  }
-  debug_print (1, ("Opening %s\n", oldfile));
-  if (!(ifp = safe_fopen (oldfile, "r"))) {
-    mutt_perror (_("Unable to open backup file for reading"));
-
-    return (-1);
-  }
-  debug_print (1, ("Opening %s\n", filename));
-  if (!(ofp = safe_fopen (filename, "w"))) {
-    fclose (ifp);
-    mutt_perror (_("Unable to open new file for writing"));
-
-    return (-1);
-  }
-  if (mx_lock_file (filename, fileno (ofp), 1, 0, 1)) {
-    fclose (ofp);
-    fclose (ifp);
-    mutt_error (_("Unable to lock %s, old file saved as %s"), filename,
-                oldfile);
-    return (-1);
-  }
-
-  if (section) {
-    while (r != EOF && !done && fgets (buf, sizeof (buf), ifp)) {
-      r = fputs (buf, ofp);
-      c = buf;
-      while (*c && *c != '\n')
-        c++;
-      c[0] = 0;                 /* strip EOL */
-      if (!strncmp (buf, "#: ", 3) && !str_casecmp (buf + 3, section))
-        done++;
-    }
-    if (r != EOF && !done) {
-      snprintf (buf, sizeof (buf), "#: %s\n", section);
-      r = fputs (buf, ofp);
-    }
-    done = 0;
-  }
-
-  while (r != EOF && fgets (buf, sizeof (buf), ifp)) {
-    if (ext) {
-      c = buf;
-      while (*c && (*c != '\r') && (*c != '\n'))
-        c++;
-      c--;
-      if (*c != '\\')
-        ext = 0;
-    }
-    else if ((section && !strncmp (buf, "#: ", 3))) {
-      if (!done && line) {
-        fputs (line, ofp);
-        fputc ('\n', ofp);
-      }
-      r = fputs (buf, ofp);
-      done++;
-      break;
-    }
-    else if (key && !strncmp (buf, key, str_len (key)) &&
-             (!*key || buf[str_len (key)] == ' ')) {
-      c = buf;
-      ext = 0;
-      while (*c && (*c != '\r') && (*c != '\n'))
-        c++;
-      c--;
-      if (*c == '\\')
-        ext = 1;
-      if (!done && line) {
-        r = fputs (line, ofp);
-        if (*key)
-          r = fputc ('\n', ofp);
-        done++;
-      }
-    }
-    else {
-      r = fputs (buf, ofp);
-    }
-  }
-
-  while (r != EOF && fgets (buf, sizeof (buf), ifp))
-    r = fputs (buf, ofp);
-
-  /* If there wasn't a line to replace, put it on the end of the file */
-  if (r != EOF && !done && line) {
-    fputs (line, ofp);
-    r = fputc ('\n', ofp);
-  }
-  mx_unlock_file (filename, fileno (ofp), 0);
-  fclose (ofp);
-  fclose (ifp);
-  if (r != EOF) {
-    unlink (oldfile);
-    return 0;
-  }
-  unlink (filename);
-  mutt_error (_("Cannot write new %s, old file saved as %s"), filename,
-              oldfile);
-  return (-1);
-}
-
-
 void mutt_version (void)
 {
   mutt_message (mutt_make_version ());