X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pgppubring.c;h=e797e9a0e3be3ed09dd5423899187a85d1bf2bc4;hp=7e62d836a045a017893f8691d7dd8bb84befe6b1;hb=ecaab35b973fbceb58b5ed174971c82762cc0199;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281 diff --git a/pgppubring.c b/pgppubring.c index 7e62d83..e797e9a 100644 --- a/pgppubring.c +++ b/pgppubring.c @@ -1,22 +1,10 @@ /* + * Copyright notice from original mutt: * Copyright (C) 1997-2001 Thomas Roessler - * - * 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. */ /* @@ -38,6 +26,9 @@ # include "config.h" #endif +#include +#include + #include #include #include @@ -45,13 +36,13 @@ #include #ifdef HAVE_GETOPT_H # include -#endif -#include - +#else extern char *optarg; extern int optind; +#endif +#include -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" @@ -65,8 +56,8 @@ short Umask; /* dirty hack because we need Umask in lib.c but #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 @@ -255,13 +246,13 @@ static pgp_key_t pgp_parse_pgp2_key (unsigned char *buff, size_t l) "%08lX", id); } - p->keyid = safe_strdup ((char *) scratch); + p->keyid = m_strdup((char *) scratch); return p; bailout: - FREE (&p); + p_delete(&p); return NULL; } @@ -357,7 +348,7 @@ static pgp_key_t pgp_parse_pgp3_key (unsigned char *buff, size_t l) id); } - p->keyid = safe_strdup ((char *) scratch); + p->keyid = m_strdup((char *) scratch); return p; } @@ -588,7 +579,7 @@ static pgp_key_t pgp_parse_keyblock (FILE * fp) #ifdef HAVE_FGETPOS fpos_t pos; #else - long pos; + off_t pos; #endif pgp_key_t root = NULL; @@ -645,7 +636,7 @@ static pgp_key_t pgp_parse_keyblock (FILE * fp) 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; @@ -676,12 +667,9 @@ static pgp_key_t pgp_parse_keyblock (FILE * fp) 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; @@ -719,7 +707,7 @@ static int pgpring_string_matches_hint (const char *s, const char *hints[], return 1; for (i = 0; i < nhints; i++) { - if (mutt_stristr (s, hints[i]) != NULL) + if (str_isstr (s, hints[i]) != NULL) return 1; } @@ -739,7 +727,7 @@ static void pgpring_find_candidates (char *ringfile, const char *hints[], #ifdef HAVE_FGETPOS fpos_t pos, keypos; #else - long pos, keypos; + off_t pos, keypos; #endif unsigned char *buff = NULL; @@ -752,11 +740,11 @@ static void pgpring_find_candidates (char *ringfile, const char *hints[], 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; } @@ -773,10 +761,7 @@ static void pgpring_find_candidates (char *ringfile, const char *hints[], 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); */ @@ -794,7 +779,7 @@ static void pgpring_find_candidates (char *ringfile, const char *hints[], pgp_free_key (&p); } - FREE (&tmp); + p_delete(&tmp); } FGETPOS (rfp, pos);