X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=init.c;h=624ef3b3e2e51437ff659ae9c93c60251c42738b;hp=ef3f3d0c125a0e3479a7d22f3c1b9be9fbd84c9a;hb=3c3c535e5ed1d651c6024b5acf670e217af473f7;hpb=c98480f8568e6c1bc927c6c5f2b5e80b4aa6548c diff --git a/init.c b/init.c index ef3f3d0..624ef3b 100644 --- a/init.c +++ b/init.c @@ -20,9 +20,9 @@ #include #include #include +#include #include "mutt.h" -#include "mapping.h" #include "mutt_curses.h" #include "history.h" #include "keymap.h" @@ -313,9 +313,9 @@ static int path_from_string (struct option_t* dst, const char* val, } path[0] = '\0'; - strfcpy (path, val, sizeof(path)); + m_strcpy(path, sizeof(path), val); mutt_expand_path (path, sizeof(path)); - str_replace ((char **) dst->data, path); + m_strreplace((char **) dst->data, path); return (1); } @@ -327,7 +327,7 @@ static int str_from_string (struct option_t* dst, const char* val, if (!check_special (dst->option, (unsigned long) val, errbuf, errlen)) return (0); - str_replace ((char**) dst->data, val); + m_strreplace((char**) dst->data, val); return (1); } @@ -342,7 +342,7 @@ static int user_from_string (struct option_t* dst, const char* val, dst->data = (unsigned long) m_strdup(val); else { char* s = (char*) dst->data; - str_replace (&s, val); + m_strreplace(&s, val); } if (m_strlen(dst->init) == 0) dst->init = m_strdup((char*) dst->data); @@ -467,7 +467,7 @@ static int rx_from_string (struct option_t* dst, const char* val, p_delete(&p->rx); } - str_replace (&p->pattern, val); + m_strreplace(&p->pattern, val); p->rx = rx; p->not = not; @@ -517,7 +517,7 @@ static void addr_to_string (char* dst, size_t dstlen, struct option_t* option) { char s[HUGE_STRING]; s[0] = '\0'; - rfc822_write_address (s, sizeof(s), *((ADDRESS**) option->data), 0); + rfc822_write_address (s, sizeof(s), *((address_t**) option->data), 0); snprintf (dst, dstlen, "%s=\"%s\"", option->option, NONULL (s)); } @@ -525,9 +525,9 @@ static int addr_from_string (struct option_t* dst, const char* val, char* errbuf, size_t errlen) { if (!dst) return (0); - rfc822_free_address ((ADDRESS**) dst->data); + address_delete ((address_t**) dst->data); if (val && *val) - *((ADDRESS**) dst->data) = rfc822_parse_adrlist (NULL, val); + *((address_t**) dst->data) = rfc822_parse_adrlist (NULL, val); return (1); } @@ -980,9 +980,9 @@ static int parse_spam_list (BUFFER * buf, BUFFER * s, unsigned long data, /* Insist on at least one parameter */ if (!MoreArgs (s)) { if (data == M_SPAM) - strfcpy (err->data, _("spam: no matching pattern"), err->dsize); + m_strcpy(err->data, err->dsize, _("spam: no matching pattern")); else - strfcpy (err->data, _("nospam: no matching pattern"), err->dsize); + m_strcpy(err->data, err->dsize, _("nospam: no matching pattern")); return -1; } @@ -1034,7 +1034,7 @@ static int parse_spam_list (BUFFER * buf, BUFFER * s, unsigned long data, } /* This should not happen. */ - strfcpy (err->data, "This is no good at all.", err->dsize); + m_strcpy(err->data, err->dsize, "This is no good at all."); return -1; } @@ -1233,7 +1233,7 @@ static int parse_attachments (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER mutt_extract_token(buf, s, 0); if (!buf->data || *buf->data == '\0') { - strfcpy(err->data, _("attachments: no disposition"), err->dsize); + m_strcpy(err->data, err->dsize, _("attachments: no disposition")); return -1; } @@ -1270,7 +1270,7 @@ static int parse_attachments (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER else listp = &InlineExclude; } else { - strfcpy(err->data, _("attachments: invalid disposition"), err->dsize); + m_strcpy(err->data, err->dsize, _("attachments: invalid disposition")); return -1; } @@ -1283,7 +1283,7 @@ static int parse_unattachments (BUFFER *buf, BUFFER *s, unsigned long data, BUFF mutt_extract_token(buf, s, 0); if (!buf->data || *buf->data == '\0') { - strfcpy(err->data, _("unattachments: no disposition"), err->dsize); + m_strcpy(err->data, err->dsize, _("unattachments: no disposition")); return -1; } @@ -1306,7 +1306,7 @@ static int parse_unattachments (BUFFER *buf, BUFFER *s, unsigned long data, BUFF listp = &InlineExclude; } else { - strfcpy(err->data, _("unattachments: invalid disposition"), err->dsize); + m_strcpy(err->data, err->dsize, _("unattachments: invalid disposition")); return -1; } @@ -1414,7 +1414,7 @@ static int parse_alias (BUFFER * buf, BUFFER * s, unsigned long data, char *estr = NULL; if (!MoreArgs (s)) { - strfcpy (err->data, _("alias: no address"), err->dsize); + m_strcpy(err->data, err->dsize, _("alias: no address")); return (-1); } @@ -1440,7 +1440,7 @@ static int parse_alias (BUFFER * buf, BUFFER * s, unsigned long data, } else { /* override the previous value */ - rfc822_free_address (&tmp->addr); + address_delete (&tmp->addr); if (CurrentMenu == MENU_ALIAS) set_option (OPTFORCEREDRAWINDEX); } @@ -1460,7 +1460,7 @@ static int parse_alias (BUFFER * buf, BUFFER * s, unsigned long data, } #ifdef DEBUG if (DebugLevel >= 2) { - ADDRESS *a; + address_t *a; /* A group is terminated with an empty address, so check a->mailbox */ for (a = tmp->addr; a && a->mailbox; a = a->next) { @@ -1526,7 +1526,7 @@ static int parse_my_hdr (BUFFER * buf, BUFFER * s, unsigned long data, mutt_extract_token (buf, s, M_TOKEN_SPACE | M_TOKEN_QUOTE); if ((p = strpbrk (buf->data, ": \t")) == NULL || *p != ':') { - strfcpy (err->data, _("invalid header field"), err->dsize); + m_strcpy(err->data, err->dsize, _("invalid header field")); return (-1); } keylen = p - buf->data + 1; @@ -1878,7 +1878,7 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data, snprintf (err->data, err->dsize, _("%s: unknown variable"), tmp->data); return (-1); } - SKIPWS (s->dptr); + s->dptr = vskipspaces(s->dptr); if (reset) { if (query || unset || inv) { @@ -1972,7 +1972,7 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data, r = -1; break; } else if (DTYPE (option->type) == DT_ADDR) - rfc822_free_address ((ADDRESS **) option->data); + address_delete ((address_t **) option->data); else if (DTYPE (option->type) == DT_USER) /* to unset $user_ means remove */ hash_delete (ConfigOptions, option->option, @@ -2143,7 +2143,7 @@ static int parse_source (BUFFER * tmp, BUFFER * s, unsigned long data, return (-1); } - strfcpy (path, tmp->data, sizeof(path)); + m_strcpy(path, sizeof(path), tmp->data); mutt_expand_path (path, sizeof(path)); rc += source_rc (path, err); @@ -2176,7 +2176,7 @@ int mutt_parse_rc_line ( /* const */ char *line, BUFFER * token, BUFFER * err) debug_print (1, ("expand '%s'\n", line)); - SKIPWS (expn.dptr); + expn.dptr = vskipspaces(expn.dptr); while (*expn.dptr) { if (*expn.dptr == '#') break; /* rest of line is a comment */ @@ -2230,7 +2230,7 @@ static void candidate (char *dest, char *try, const char *src, int len) if (strstr (src, try) == src) { Matches[Num_matched++] = src; if (dest[0] == 0) - strfcpy (dest, src, len); + m_strcpy(dest, len, src); else { for (l = 0; src[l] && src[l] == dest[l]; l++); dest[l] = 0; @@ -2244,7 +2244,7 @@ int mutt_command_complete (char *buffer, size_t len, int pos, int numtabs) int num; int spaces; /* keep track of the number of leading spaces on the line */ - SKIPWS (buffer); + buffer = vskipspaces(buffer); spaces = buffer - pt; pt = buffer + pos - spaces; @@ -2255,7 +2255,7 @@ int mutt_command_complete (char *buffer, size_t len, int pos, int numtabs) /* first TAB. Collect all the matches */ if (numtabs == 1) { Num_matched = 0; - strfcpy (User_typed, pt, sizeof(User_typed)); + m_strcpy(User_typed, sizeof(User_typed), pt); p_clear(Matches, sizeof(Matches)); p_clear(Completed, sizeof(Completed)); for (num = 0; Commands[num].name; num++) @@ -2304,7 +2304,7 @@ int mutt_command_complete (char *buffer, size_t len, int pos, int numtabs) /* first TAB. Collect all the matches */ if (numtabs == 1) { Num_matched = 0; - strfcpy (User_typed, pt, sizeof(User_typed)); + m_strcpy(User_typed, sizeof(User_typed), pt); p_clear(Matches, sizeof(Matches)); p_clear(Completed, sizeof(Completed)); for (num = 0; MuttVars[num].option; num++) @@ -2342,7 +2342,7 @@ int mutt_command_complete (char *buffer, size_t len, int pos, int numtabs) /* first TAB. Collect all the matches */ if (numtabs == 1) { Num_matched = 0; - strfcpy (User_typed, pt, sizeof(User_typed)); + m_strcpy(User_typed, sizeof(User_typed), pt); p_clear(Matches, sizeof(Matches)); p_clear(Completed, sizeof(Completed)); for (num = 0; menu[num].name; num++) @@ -2391,7 +2391,7 @@ int mutt_var_value_complete (char *buffer, size_t len, int pos) if (buffer[0] == 0) return 0; - SKIPWS (buffer); + buffer = vskipspaces(buffer); spaces = buffer - pt; pt = buffer + pos - spaces; @@ -2402,7 +2402,7 @@ int mutt_var_value_complete (char *buffer, size_t len, int pos) return 0; if (m_strncmp(buffer, "set", 3) == 0) { - strfcpy (var, pt, sizeof(var)); + m_strcpy(var, sizeof(var), pt); /* ignore the trailing '=' when comparing */ var[m_strlen(var) - 1] = 0; if (!(option = hash_find (ConfigOptions, var))) @@ -2418,16 +2418,16 @@ int mutt_var_value_complete (char *buffer, size_t len, int pos) if ((DTYPE (option->type) == DT_STR) || (DTYPE (option->type) == DT_PATH) || (DTYPE (option->type) == DT_RX)) { - strfcpy (tmp, NONULL (*((char **) option->data)), sizeof(tmp)); + m_strcpy(tmp, sizeof(tmp), NONULL(*((char **)option->data))); if (DTYPE (option->type) == DT_PATH) mutt_pretty_mailbox (tmp); } else if (DTYPE (option->type) == DT_ADDR) { rfc822_write_address (tmp, sizeof(tmp), - *((ADDRESS **) option->data), 0); + *((address_t **) option->data), 0); } else if (DTYPE (option->type) == DT_QUAD) - strfcpy (tmp, vals[quadoption (option->data)], sizeof(tmp)); + m_strcpy(tmp, sizeof(tmp), vals[quadoption(option->data)]); else if (DTYPE (option->type) == DT_NUM) snprintf (tmp, sizeof(tmp), "%d", (*((short *) option->data))); else if (DTYPE (option->type) == DT_SORT) { @@ -2474,11 +2474,10 @@ int mutt_var_value_complete (char *buffer, size_t len, int pos) default: p = "unknown"; } - strfcpy (tmp, p, sizeof(tmp)); + m_strcpy(tmp, sizeof(tmp), p); } else if (DTYPE (option->type) == DT_BOOL) - strfcpy (tmp, option (option->data) ? "yes" : "no", - sizeof(tmp)); + m_strcpy(tmp, sizeof(tmp), option(option->data) ? "yes" : "no"); else return 0; @@ -2489,7 +2488,7 @@ int mutt_var_value_complete (char *buffer, size_t len, int pos) } *d = '\0'; - strfcpy (tmp, pt, sizeof(tmp)); + m_strcpy(tmp, sizeof(tmp), pt); snprintf (pt, dlen, "%s\"%s\"", tmp, tmp2); return 1; @@ -2528,26 +2527,6 @@ int mutt_query_variables (LIST * queries) return 0; } -const char *mutt_getnamebyvalue (int val, const struct mapping_t *map) -{ - int i; - - for (i = 0; map[i].name; i++) - if (map[i].value == val) - return (map[i].name); - return NULL; -} - -int mutt_getvaluebyname (const char *name, const struct mapping_t *map) -{ - int i; - - for (i = 0; map[i].name; i++) - if (ascii_strcasecmp (map[i].name, name) == 0) - return (map[i].value); - return (-1); -} - static int mutt_execute_commands (LIST * p) { BUFFER err, token; @@ -2640,7 +2619,7 @@ void mutt_init (int skip_sys_rc, LIST * commands) if ((p = strchr (utsname.nodename, '.'))) { Hostname = str_substrdup (utsname.nodename, p); p++; - strfcpy (buffer, p, sizeof(buffer)); /* save the domain for below */ + m_strcpy(buffer, sizeof(buffer), p); /* save the domain for below */ } else Hostname = m_strdup(utsname.nodename); @@ -2666,8 +2645,7 @@ void mutt_init (int skip_sys_rc, LIST * commands) if ((f = safe_fopen (SYSCONFDIR "/nntpserver", "r"))) { buffer[0] = '\0'; fgets (buffer, sizeof(buffer), f); - p = buffer; - SKIPWS (p); + p = vskipspaces(buffer); q = (char*)p; while (*q && !isspace(*q)) q++; @@ -2793,7 +2771,7 @@ void mutt_init (int skip_sys_rc, LIST * commands) Muttrc = m_strdup(buffer); } else { - strfcpy (buffer, Muttrc, sizeof(buffer)); + m_strcpy(buffer, sizeof(buffer), Muttrc); p_delete(&Muttrc); mutt_expand_path (buffer, sizeof(buffer)); Muttrc = m_strdup(buffer);