/*
+ * Copyright notice from original mutt:
* Copyright (C) 1997-2001 Thomas Roessler <roessler@does-not-exist.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 the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later
- * version.
- *
- * This program is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the Free
- * Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111, USA.
+ *
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
*/
/*
*
*/
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <lib-lib/lib-lib.h>
+
+#include <lib-hash/hash.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <time.h>
#ifdef HAVE_GETOPT_H
# include <getopt.h>
-#endif
-#include <errno.h>
-
+#else
extern char *optarg;
extern int optind;
+#endif
-short Umask; /* dirty hack because we need Umask in lib.c but don't want globals.h there */
+short Umask; /* dirty hack because we need Umask in lib.c but don't want globals.h there */
-#include "sha1.h"
-#include "md5.h"
#include "lib.h"
-#include "pgplib.h"
-#include "pgppacket.h"
+#include <lib-crypt/pgplib.h>
+#include <lib-crypt/pgppacket.h>
#define MD5_DIGEST_LENGTH 16
#define FGETPOS(fp,pos) fgetpos((fp),&(pos))
#define FSETPOS(fp,pos) fsetpos((fp),&(pos))
#else
-#define FGETPOS(fp,pos) pos=ftell((fp));
-#define FSETPOS(fp,pos) fseek((fp),(pos),SEEK_SET)
+#define FGETPOS(fp,pos) pos=ftello((fp));
+#define FSETPOS(fp,pos) fseeko((fp),(pos),SEEK_SET)
#endif
}
if (_kring)
- strfcpy (kring, _kring, sizeof (kring));
+ m_strcpy(kring, sizeof(kring), _kring);
else {
if ((env_pgppath = getenv ("PGPPATH")))
- strfcpy (pgppath, env_pgppath, sizeof (pgppath));
+ m_strcpy(pgppath, sizeof(pgppath), env_pgppath);
else if ((env_home = getenv ("HOME")))
snprintf (pgppath, sizeof (pgppath), "%s/.pgp", env_home);
else {
memcpy (p->fingerprint, digest, MD5_DIGEST_LENGTH);
}
else /* just to be usre */
- memset (p->fingerprint, 0, MD5_DIGEST_LENGTH);
+ p_clear(p->fingerprint, MD5_DIGEST_LENGTH);
expl = 0;
for (i = 0; i < 2; i++)
"%08lX", id);
}
- p->keyid = safe_strdup ((char *) scratch);
+ p->keyid = m_strdup((char *) scratch);
return p;
bailout:
- FREE (&p);
+ p_delete(&p);
return NULL;
}
id);
}
- p->keyid = safe_strdup ((char *) scratch);
+ p->keyid = m_strdup((char *) scratch);
return p;
}
#ifdef HAVE_FGETPOS
fpos_t pos;
#else
- long pos;
+ off_t pos;
#endif
pgp_key_t root = NULL;
case PT_SIG:
{
if (lsig) {
- pgp_sig_t *signature = safe_calloc (sizeof (pgp_sig_t), 1);
+ pgp_sig_t *signature = p_new(pgp_sig_t, 1);
*lsig = signature;
lsig = &signature->next;
if (!addr)
break;
- chr = safe_malloc (l);
- memcpy (chr, buff + 1, l - 1);
- chr[l - 1] = '\0';
+ chr = p_dupstr(buff + 1, l - 1);
-
- *addr = uid = safe_calloc (1, sizeof (pgp_uid_t)); /* XXX */
+ *addr = uid = p_new(pgp_uid_t, 1); /* XXX */
uid->addr = chr;
uid->parent = p;
uid->trust = 0;
return 1;
for (i = 0; i < nhints; i++) {
- if (mutt_stristr (s, hints[i]) != NULL)
+ if (m_stristr(s, hints[i]) != NULL)
return 1;
}
#ifdef HAVE_FGETPOS
fpos_t pos, keypos;
#else
- long pos, keypos;
+ off_t pos, keypos;
#endif
unsigned char *buff = NULL;
char *error_buf;
size_t error_buf_len;
- error_buf_len = sizeof ("fopen: ") - 1 + strlen (ringfile) + 1;
- error_buf = safe_malloc (error_buf_len);
+ error_buf_len = sizeof ("fopen: ") - 1 + m_strlen(ringfile) + 1;
+ error_buf = p_new(char, error_buf_len);
snprintf (error_buf, error_buf_len, "fopen: %s", ringfile);
perror (error_buf);
- FREE (&error_buf);
+ p_delete(&error_buf);
return;
}
keypos = pos;
}
else if (pt == PT_NAME) {
- char *tmp = safe_malloc (l);
-
- memcpy (tmp, buff + 1, l - 1);
- tmp[l - 1] = '\0';
+ char *tmp = p_dupstr(buff + 1, l - 1);
/* mutt_decode_utf8_string (tmp, chs); */
pgp_free_key (&p);
}
- FREE (&tmp);
+ p_delete(&tmp);
}
FGETPOS (rfp, pos);
}
-
- fclose (rfp);
-
+ m_fclose(&rfp);
}
static void print_userid (const char *id)
}
}
}
-
-/*
- * The mutt_gettext () defined in gettext.c requires iconv,
- * so we do without charset conversion here.
- */
-
-char *mutt_gettext (const char *message)
-{
- return (char *) message;
-}