118{
119 FILE *fp_null = fopen("/dev/null", "w");
120 if (!fp_null)
121 {
124 }
125 struct Buffer *tempfile = NULL;
129 if (!fp_tmp)
130 {
135 }
136
138
141 char tmpbuf[256] = { 0 };
142 snprintf(tmpbuf, sizeof(tmpbuf), "0x%s",
144
146 fileno(fp_null), tmpbuf);
147 if (pid == -1)
148 {
153 }
154
159 char title[1024] = { 0 };
160 snprintf(title,
sizeof(title),
_(
"Key ID: 0x%s"),
162
165
167
171
176}
static const char * buf_string(const struct Buffer *buf)
Convert a buffer to a const char * "string".
FILE * mutt_file_fopen(const char *path, const char *mode)
Call fopen() safely.
int mutt_file_fclose(FILE **fp)
Close a FILE handle (and NULL the pointer)
int filter_wait(pid_t pid)
Wait for the exit of a process and return its status.
#define mutt_message(...)
char * pgp_keyid(struct PgpKeyInfo *k)
Get the ID of the main (parent) key.
char * pgp_fpr_or_lkeyid(struct PgpKeyInfo *k)
Get the fingerprint or long keyid.
pid_t pgp_invoke_verify_key(FILE **fp_pgp_in, FILE **fp_pgp_out, FILE **fp_pgp_err, int fd_pgp_in, int fd_pgp_out, int fd_pgp_err, const char *uids)
Use PGP to verify a key.
struct PgpKeyInfo * pgp_principal_key(struct PgpKeyInfo *key)
Get the main (parent) PGP key.
struct Buffer * buf_pool_get(void)
Get a Buffer from the pool.
void buf_pool_release(struct Buffer **ptr)
Return a Buffer to the pool.
String manipulation buffer.