/*
- * Queries and passphrase handling.
+ * Create a format string to be used with scanf.
+ * To use it, write, for instance, MUTT_FORMAT(HUGE_STRING).
+ *
+ * See K&R 2nd ed, p. 231 for an explanation.
*/
+#define _MUTT_FORMAT_2(a,b) "%" a b
+#define _MUTT_FORMAT_1(a, b) _MUTT_FORMAT_2(#a, b)
+#define MUTT_FORMAT(a) _MUTT_FORMAT_1(a, "s")
+/*
+ * Queries and passphrase handling.
+ */
/* these are copies from pgp.c */
char buf1[LONG_STRING], buf2[LONG_STRING];
struct stat sb;
- strfcpy (path, NONULL (SmimeCALocation), sizeof (path));
+ m_strcpy(path, sizeof(path), NONULL(SmimeCALocation));
mutt_expand_path (path, sizeof (path));
mutt_quote_filename (buf1, sizeof (buf1), path);
continue;
}
else if (choice == M_YES) {
- strfcpy (key, fields[1], sizeof (key));
+ m_strcpy(key, sizeof(key), fields[1]);
ask = 0;
break;
}
else {
if (public)
key_trust_level = *fields[4];
- strfcpy (key, fields[1], sizeof (key));
+ m_strcpy(key, sizeof(key), fields[1]);
}
found = 1;
}
if (numFields >= 3 &&
!(m_strncasecmp(query, fields[2], query_len))) {
ask = 0;
- strfcpy (key, fields[1], sizeof (key));
+ m_strcpy(key, sizeof(key), fields[1]);
}
/* query = certificate: return intermediate certificate. */
else if (numFields >= 4 &&
!(m_strncasecmp(query, fields[1], query_len))) {
ask = 0;
- strfcpy (key, fields[3], sizeof (key));
+ m_strcpy(key, sizeof(key), fields[3]);
}
}