-#define CHECK_PAGER \
- if ((CurrentMenu == MENU_PAGER) && \
- (!option || (option->flags & R_RESORT))) \
- { \
- snprintf (err->data, err->dsize, \
- _("Not available in this menu.")); \
- return (-1); \
- } else
-
const struct mapping_t *map,
char* errbuf, size_t errlen);
const struct mapping_t *map,
char* errbuf, size_t errlen);
static void num_to_string (char* dst, size_t dstlen,
struct option_t* option) {
/* XXX puke */
static void num_to_string (char* dst, size_t dstlen,
struct option_t* option) {
/* XXX puke */
"%s=%04o" : "%s=%d";
snprintf (dst, dstlen, fmt, option->option,
*((short*) option->data));
"%s=%04o" : "%s=%d";
snprintf (dst, dstlen, fmt, option->option,
*((short*) option->data));
static void sys_to_string (char* dst, size_t dstlen,
struct option_t* option) {
static void sys_to_string (char* dst, size_t dstlen,
struct option_t* option) {
int clean = 0;
/* get some $muttng_ values dynamically */
if (ascii_strcmp ("muttng_pwd", option->option) == 0) {
int clean = 0;
/* get some $muttng_ values dynamically */
if (ascii_strcmp ("muttng_pwd", option->option) == 0) {
val = getcwd (val, _POSIX_PATH_MAX-1);
clean = 1;
} else if (ascii_strcmp ("muttng_folder_path", option->option) == 0 &&
val = getcwd (val, _POSIX_PATH_MAX-1);
clean = 1;
} else if (ascii_strcmp ("muttng_folder_path", option->option) == 0 &&
* if name starts with $folder, just strip it to keep hierarchy
* $folder=imap://host, path=imap://host/inbox/b -> inbox/b
*/
* if name starts with $folder, just strip it to keep hierarchy
* $folder=imap://host, path=imap://host/inbox/b -> inbox/b
*/
str_len (CurrentFolder) > Maildirlength) {
val = CurrentFolder + Maildirlength;
if (Maildir[strlen(Maildir)-1]!='/')
str_len (CurrentFolder) > Maildirlength) {
val = CurrentFolder + Maildirlength;
if (Maildir[strlen(Maildir)-1]!='/')
snprintf (dst, dstlen, "%s=\"%s\"", option->option, NONULL (val));
if (clean)
snprintf (dst, dstlen, "%s=\"%s\"", option->option, NONULL (val));
if (clean)
- strfcpy (path, val, sizeof (path));
- mutt_expand_path (path, sizeof (path));
+ strfcpy (path, val, sizeof(path));
+ mutt_expand_path (path, sizeof(path));
static void quad_to_string (char* dst, size_t dstlen,
struct option_t* option) {
static void quad_to_string (char* dst, size_t dstlen,
struct option_t* option) {
- char *vals[] = { "no", "yes", "ask-no", "ask-yes" };
+ const char *vals[] = { "no", "yes", "ask-no", "ask-yes" };
snprintf (dst, dstlen, "%s=%s", option->option,
vals[quadoption (option->data)]);
}
snprintf (dst, dstlen, "%s=%s", option->option,
vals[quadoption (option->data)]);
}
static void sort_to_string (char* dst, size_t dstlen,
struct option_t* option) {
const struct mapping_t *map = get_sortmap (option);
static void sort_to_string (char* dst, size_t dstlen,
struct option_t* option) {
const struct mapping_t *map = get_sortmap (option);
- snprintf (dst, sizeof (dst), "%s=unknown", option->option);
+ snprintf (dst, sizeof(dst), "%s=unknown", option->option);
snprintf (dst, dstlen, "%s=%s%s%s", option->option,
(*((short *) option->data) & SORT_REVERSE) ?
snprintf (dst, dstlen, "%s=%s%s%s", option->option,
(*((short *) option->data) & SORT_REVERSE) ?
if ((e = REGCOMP (rx, s, flags)) != 0) {
regerror (e, rx, errbuf, errlen);
regfree (rx);
if ((e = REGCOMP (rx, s, flags)) != 0) {
regerror (e, rx, errbuf, errlen);
regfree (rx);
- rfc822_write_address (s, sizeof (s), *((ADDRESS**) option->data), 0);
+ rfc822_write_address (s, sizeof(s), *((ADDRESS**) option->data), 0);
snprintf (dst, dstlen, "%s=\"%s\"", option->option, NONULL (s));
}
snprintf (dst, dstlen, "%s=\"%s\"", option->option, NONULL (s));
}
FuncTable[DTYPE (option->type)].opt_to_string (tmp, dstlen, option);
/* as we get things of type $var=value and don't want to bloat the
FuncTable[DTYPE (option->type)].opt_to_string (tmp, dstlen, option);
/* as we get things of type $var=value and don't want to bloat the
/* for synonym warning reports: adds synonym to end of list */
static void syn_add (struct option_t* n, struct option_t* o) {
/* for synonym warning reports: adds synonym to end of list */
static void syn_add (struct option_t* n, struct option_t* o) {
/* for synonym warning reports: free single item (for list_del()) */
static void syn_del (void** p) {
/* for synonym warning reports: free single item (for list_del()) */
static void syn_del (void** p) {
mutt_extract_token (tmp, s, 0);
/* is the item defined as a variable or a function? */
mutt_extract_token (tmp, s, 0);
/* is the item defined as a variable or a function? */
if (data == res) {
if (mutt_parse_rc_line (tmp->data, &token, err) == -1) {
mutt_error ("Error: %s", err->data);
if (data == res) {
if (mutt_parse_rc_line (tmp->data, &token, err) == -1) {
mutt_error ("Error: %s", err->data);
/* Add to the spam list. */
if (add_to_spam_list (&SpamList, buf->data, templ.data, err) != 0) {
/* Add to the spam list. */
if (add_to_spam_list (&SpamList, buf->data, templ.data, err) != 0) {
- debug_print (5, ("parse_attach_list: ldata = %08x, *ldata = %08x\n",
- (unsigned int)ldata, (unsigned int)*ldata));
+ debug_print (5, ("parse_attach_list: ldata = %p, *ldata = %p\n",
+ ldata, *ldata));
for (listp = *ldata; listp; listp = listp->next) {
a = (ATTACH_MATCH *)listp->data;
debug_print (5, ("parse_attach_list: skipping %s/%s\n", a->major, a->minor));
for (listp = *ldata; listp; listp = listp->next) {
a = (ATTACH_MATCH *)listp->data;
debug_print (5, ("parse_attach_list: skipping %s/%s\n", a->major, a->minor));
/* some cheap hacks that I expect to remove */
if (!str_casecmp(buf->data, "any"))
a->major = str_dup("*/.*");
/* some cheap hacks that I expect to remove */
if (!str_casecmp(buf->data, "any"))
a->major = str_dup("*/.*");
a->major_int = mutt_check_mime_type(a->major);
regcomp(&a->minor_rx, tmpminor, REG_ICASE|REG_EXTENDED);
a->major_int = mutt_check_mime_type(a->major);
regcomp(&a->minor_rx, tmpminor, REG_ICASE|REG_EXTENDED);
debug_print (5, ("parse_attach_list: added %s/%s [%d]\n",
a->major, a->minor, a->major_int));
debug_print (5, ("parse_attach_list: added %s/%s [%d]\n",
a->major, a->minor, a->major_int));
if (!str_casecmp(buf->data, "any"))
tmp = str_dup("*/.*");
else if (!str_casecmp(buf->data, "none"))
tmp = str_dup("cheap_hack/this_should_never_match");
else
tmp = str_dup(buf->data);
if (!str_casecmp(buf->data, "any"))
tmp = str_dup("*/.*");
else if (!str_casecmp(buf->data, "none"))
tmp = str_dup("cheap_hack/this_should_never_match");
else
tmp = str_dup(buf->data);
/* We must do our own walk here because remove_from_list() will only
* remove the LIST->data, not anything pointed to by the LIST->data. */
lastp = NULL;
/* We must do our own walk here because remove_from_list() will only
* remove the LIST->data, not anything pointed to by the LIST->data. */
lastp = NULL;
debug_print(5, ("parse_unattach_list: removed %s/%s [%d]\n",
a->major, a->minor, a->major_int));
regfree(&a->minor_rx);
debug_print(5, ("parse_unattach_list: removed %s/%s [%d]\n",
a->major, a->minor, a->major_int));
regfree(&a->minor_rx);
while (lp) {
printf("attachments %c%s %s/%s\n", op, name,
((ATTACH_MATCH *)lp->data)->major,
((ATTACH_MATCH *)lp->data)->minor);
lp = lp->next;
}
while (lp) {
printf("attachments %c%s %s/%s\n", op, name,
((ATTACH_MATCH *)lp->data)->major,
((ATTACH_MATCH *)lp->data)->minor);
lp = lp->next;
}
return 0;
}
static int parse_attachments (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err) {
char op, *category;
LIST **listp;
return 0;
}
static int parse_attachments (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err) {
char op, *category;
LIST **listp;
mutt_extract_token(buf, s, 0);
if (!buf->data || *buf->data == '\0') {
strfcpy(err->data, _("attachments: no disposition"), err->dsize);
return -1;
}
mutt_extract_token(buf, s, 0);
if (!buf->data || *buf->data == '\0') {
strfcpy(err->data, _("attachments: no disposition"), err->dsize);
return -1;
}
return parse_attach_list(buf, s, listp, err);
}
static int parse_unattachments (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err) {
char op, *p;
LIST **listp;
return parse_attach_list(buf, s, listp, err);
}
static int parse_unattachments (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err) {
char op, *p;
LIST **listp;
mutt_extract_token(buf, s, 0);
if (!buf->data || *buf->data == '\0') {
strfcpy(err->data, _("unattachments: no disposition"), err->dsize);
return -1;
}
mutt_extract_token(buf, s, 0);
if (!buf->data || *buf->data == '\0') {
strfcpy(err->data, _("unattachments: no disposition"), err->dsize);
return -1;
}
return parse_unattach_list(buf, s, listp, err);
}
return parse_unattach_list(buf, s, listp, err);
}
/* see if there is already a field by this name */
if (ascii_strncasecmp (buf->data, tmp->data, keylen) == 0) {
/* replace the old value */
/* see if there is already a field by this name */
if (ascii_strncasecmp (buf->data, tmp->data, keylen) == 0) {
/* replace the old value */
-static void mutt_set_default (const char* name, void* p, unsigned long more) {
- char buf[LONG_STRING];
- struct option_t* ptr = (struct option_t*) p;
+static void mutt_set_default(const char *name, void* p, unsigned long more)
+{
+ char buf[LONG_STRING];
+ struct option_t *ptr = p;
- if (DTYPE (ptr->type) == DT_SYN) {
- if (!more)
- return;
- ptr = hash_find (ConfigOptions, (char*) ptr->data);
- }
- if (!ptr || *ptr->init || !FuncTable[DTYPE (ptr->type)].opt_from_string)
- return;
- mutt_option_value (ptr->option, buf, sizeof (buf));
- if (str_len (ptr->init) == 0 && buf && *buf)
- ptr->init = str_dup (buf);
+ if (DTYPE(ptr->type) == DT_SYN) {
+ if (!more)
+ return;
+ ptr = hash_find(ConfigOptions, (const char *)ptr->data);
+ }
+ if (!ptr || *ptr->init || !FuncTable[DTYPE (ptr->type)].opt_from_string)
+ return;
+
+ mutt_option_value(ptr->option, buf, sizeof(buf));
+ if (str_len(ptr->init) == 0 && buf && *buf)
+ ptr->init = str_dup(buf);
- short type, short dup) {
- struct option_t* option = mem_calloc (1, sizeof (struct option_t));
+ short type, short dodup) {
+ struct option_t* option = p_new(struct option_t, 1);
debug_print (1, ("adding $%s\n", name));
option->option = str_dup (name);
option->type = type;
if (init)
debug_print (1, ("adding $%s\n", name));
option->option = str_dup (name);
option->type = type;
if (init)
struct option_t* ptr = (struct option_t*) p;
char* s = (char*) ptr->data;
debug_print (1, ("removing option '%s' from table\n", NONULL (ptr->option)));
struct option_t* ptr = (struct option_t*) p;
char* s = (char*) ptr->data;
debug_print (1, ("removing option '%s' from table\n", NONULL (ptr->option)));
if (DTYPE(src->type) == DT_STR ||
DTYPE(src->type) == DT_PATH) {
/* only expand for string as it's the only place where
* we want to expand vars right now */
if (src->init && *src->init) {
if (DTYPE(src->type) == DT_STR ||
DTYPE(src->type) == DT_PATH) {
/* only expand for string as it's the only place where
* we want to expand vars right now */
if (src->init && *src->init) {
- memset (&token, 0, sizeof (BUFFER));
- memset (&in, 0, sizeof (BUFFER));
+ memset (&token, 0, sizeof(BUFFER));
+ memset (&in, 0, sizeof(BUFFER));
snprintf (in.data, len, "\"%s\"", src->init);
in.dptr = in.data;
in.dsize = len;
snprintf (in.data, len, "\"%s\"", src->init);
in.dptr = in.data;
in.dsize = len;
if (FuncTable[DTYPE (ptr->type)].opt_from_string) {
init_expand (&init, ptr);
if (!FuncTable[DTYPE (ptr->type)].opt_from_string (ptr, init, errbuf,
if (FuncTable[DTYPE (ptr->type)].opt_from_string) {
init_expand (&init, ptr);
if (!FuncTable[DTYPE (ptr->type)].opt_from_string (ptr, init, errbuf,
if (!option (OPTNOCURSES))
mutt_endwin (NULL);
fprintf (stderr, _("Invalid default setting for $%s found: \"%s\".\n"
if (!option (OPTNOCURSES))
mutt_endwin (NULL);
fprintf (stderr, _("Invalid default setting for $%s found: \"%s\".\n"
+#define CHECK_PAGER \
+ if ((CurrentMenu == MENU_PAGER) && \
+ (!option || (option->flags & R_RESORT))) \
+ { \
+ snprintf (err->data, err->dsize, \
+ _("Not available in this menu.")); \
+ return (-1); \
+ }
+
static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
BUFFER * err)
{
static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
BUFFER * err)
{
DTYPE (option->type == DT_SYN)) {
struct option_t* newopt = hash_find (ConfigOptions, (char*) option->data);
syn_add (newopt, option);
DTYPE (option->type == DT_SYN)) {
struct option_t* newopt = hash_find (ConfigOptions, (char*) option->data);
syn_add (newopt, option);
while ((linebuf = mutt_read_line (linebuf, &buflen, f, &line)) != NULL) {
conv = ConfigCharset && (*ConfigCharset) && Charset;
if (conv) {
while ((linebuf = mutt_read_line (linebuf, &buflen, f, &line)) != NULL) {
conv = ConfigCharset && (*ConfigCharset) && Charset;
if (conv) {
mutt_error (_("Error in %s, line %d: %s"), rcfile, line, err->data);
if (--rc < -MAXERRS) {
if (conv)
mutt_error (_("Error in %s, line %d: %s"), rcfile, line, err->data);
if (--rc < -MAXERRS) {
if (conv)
- strfcpy (path, tmp->data, sizeof (path));
- mutt_expand_path (path, sizeof (path));
+ strfcpy (path, tmp->data, sizeof(path));
+ mutt_expand_path (path, sizeof(path));
-#define NUMVARS (sizeof (MuttVars)/sizeof (MuttVars[0]))
-#define NUMCOMMANDS (sizeof (Commands)/sizeof (Commands[0]))
-/* initial string that starts completion. No telling how much crap
+#define NUMVARS (sizeof(MuttVars)/sizeof(MuttVars[0]))
+#define NUMCOMMANDS (sizeof(Commands)/sizeof(Commands[0]))
+/* initial string that starts completion. No telling how much crap
* the user has typed so far. Allocate LONG_STRING just to be sure! */
char User_typed[LONG_STRING] = { 0 };
int Num_matched = 0; /* Number of matches for completion */
char Completed[STRING] = { 0 }; /* completed string (command or variable) */
* the user has typed so far. Allocate LONG_STRING just to be sure! */
char User_typed[LONG_STRING] = { 0 };
int Num_matched = 0; /* Number of matches for completion */
char Completed[STRING] = { 0 }; /* completed string (command or variable) */
-static void candidate (char *dest, char *try, char *src, int len)
+static void candidate (char *dest, char *try, const char *src, int len)
- strfcpy (User_typed, pt, sizeof (User_typed));
- memset (Matches, 0, sizeof (Matches));
- memset (Completed, 0, sizeof (Completed));
+ strfcpy (User_typed, pt, sizeof(User_typed));
+ memset (Matches, 0, sizeof(Matches));
+ memset (Completed, 0, sizeof(Completed));
for (num = 0; Commands[num].name; num++)
candidate (Completed, User_typed, Commands[num].name,
for (num = 0; Commands[num].name; num++)
candidate (Completed, User_typed, Commands[num].name,
/* Num_matched will _always_ be atleast 1 since the initial
* user-typed string is always stored */
if (numtabs == 1 && Num_matched == 2)
/* Num_matched will _always_ be atleast 1 since the initial
* user-typed string is always stored */
if (numtabs == 1 && Num_matched == 2)
- snprintf (Completed, sizeof (Completed), "%s", Matches[0]);
+ snprintf (Completed, sizeof(Completed), "%s", Matches[0]);
- snprintf (Completed, sizeof (Completed), "%s",
+ snprintf (Completed, sizeof(Completed), "%s",
|| !str_ncmp (buffer, "unset", 5)
|| !str_ncmp (buffer, "reset", 5)
|| !str_ncmp (buffer, "toggle", 6)) { /* complete variables */
|| !str_ncmp (buffer, "unset", 5)
|| !str_ncmp (buffer, "reset", 5)
|| !str_ncmp (buffer, "toggle", 6)) { /* complete variables */
- char *prefixes[] = { "no", "inv", "?", "&", 0 };
+ const char *prefixes[] = { "no", "inv", "?", "&", NULL };
- strfcpy (User_typed, pt, sizeof (User_typed));
- memset (Matches, 0, sizeof (Matches));
- memset (Completed, 0, sizeof (Completed));
+ strfcpy (User_typed, pt, sizeof(User_typed));
+ memset (Matches, 0, sizeof(Matches));
+ memset (Completed, 0, sizeof(Completed));
for (num = 0; MuttVars[num].option; num++)
candidate (Completed, User_typed, MuttVars[num].option,
for (num = 0; MuttVars[num].option; num++)
candidate (Completed, User_typed, MuttVars[num].option,
/* Num_matched will _always_ be atleast 1 since the initial
* user-typed string is always stored */
if (numtabs == 1 && Num_matched == 2)
/* Num_matched will _always_ be atleast 1 since the initial
* user-typed string is always stored */
if (numtabs == 1 && Num_matched == 2)
- snprintf (Completed, sizeof (Completed), "%s", Matches[0]);
+ snprintf (Completed, sizeof(Completed), "%s", Matches[0]);
- snprintf (Completed, sizeof (Completed), "%s",
+ snprintf (Completed, sizeof(Completed), "%s",
Matches[(numtabs - 2) % Num_matched]);
strncpy (pt, Completed, buffer + len - pt - spaces);
Matches[(numtabs - 2) % Num_matched]);
strncpy (pt, Completed, buffer + len - pt - spaces);
- strfcpy (User_typed, pt, sizeof (User_typed));
- memset (Matches, 0, sizeof (Matches));
- memset (Completed, 0, sizeof (Completed));
+ strfcpy (User_typed, pt, sizeof(User_typed));
+ memset (Matches, 0, sizeof(Matches));
+ memset (Completed, 0, sizeof(Completed));
- candidate (Completed, User_typed, menu[num].name, sizeof (Completed));
+ candidate (Completed, User_typed, menu[num].name, sizeof(Completed));
/* try the generic menu */
if (Completed[0] == 0 && CurrentMenu != MENU_PAGER) {
menu = OpGeneric;
for (num = 0; menu[num].name; num++)
candidate (Completed, User_typed, menu[num].name,
/* try the generic menu */
if (Completed[0] == 0 && CurrentMenu != MENU_PAGER) {
menu = OpGeneric;
for (num = 0; menu[num].name; num++)
candidate (Completed, User_typed, menu[num].name,
/* Num_matched will _always_ be atleast 1 since the initial
* user-typed string is always stored */
if (numtabs == 1 && Num_matched == 2)
/* Num_matched will _always_ be atleast 1 since the initial
* user-typed string is always stored */
if (numtabs == 1 && Num_matched == 2)
- snprintf (Completed, sizeof (Completed), "%s", Matches[0]);
+ snprintf (Completed, sizeof(Completed), "%s", Matches[0]);
- snprintf (Completed, sizeof (Completed), "%s",
+ snprintf (Completed, sizeof(Completed), "%s",
Matches[(numtabs - 2) % Num_matched]);
strncpy (pt, Completed, buffer + len - pt - spaces);
Matches[(numtabs - 2) % Num_matched]);
strncpy (pt, Completed, buffer + len - pt - spaces);
/* ignore the trailing '=' when comparing */
var[str_len (var) - 1] = 0;
if (!(option = hash_find (ConfigOptions, var)))
/* ignore the trailing '=' when comparing */
var[str_len (var) - 1] = 0;
if (!(option = hash_find (ConfigOptions, var)))
char tmp[LONG_STRING], tmp2[LONG_STRING];
char *s, *d;
size_t dlen = buffer + len - pt - spaces;
char tmp[LONG_STRING], tmp2[LONG_STRING];
char *s, *d;
size_t dlen = buffer + len - pt - spaces;
- char *vals[] = { "no", "yes", "ask-no", "ask-yes" };
+ const char *vals[] = { "no", "yes", "ask-no", "ask-yes" };
tmp[0] = '\0';
if ((DTYPE (option->type) == DT_STR) ||
(DTYPE (option->type) == DT_PATH) ||
(DTYPE (option->type) == DT_RX)) {
tmp[0] = '\0';
if ((DTYPE (option->type) == DT_STR) ||
(DTYPE (option->type) == DT_PATH) ||
(DTYPE (option->type) == DT_RX)) {
if (DTYPE (option->type) == DT_PATH)
mutt_pretty_mailbox (tmp);
}
else if (DTYPE (option->type) == DT_ADDR) {
if (DTYPE (option->type) == DT_PATH)
mutt_pretty_mailbox (tmp);
}
else if (DTYPE (option->type) == DT_ADDR) {
*((ADDRESS **) option->data), 0);
}
else if (DTYPE (option->type) == DT_QUAD)
*((ADDRESS **) option->data), 0);
}
else if (DTYPE (option->type) == DT_QUAD)
- snprintf (tmp, sizeof (tmp), "%d", (*((short *) option->data)));
+ snprintf (tmp, sizeof(tmp), "%d", (*((short *) option->data)));
- p =
- mutt_getnamebyvalue (*((short *) option->data) & SORT_MASK,
- map);
- snprintf (tmp, sizeof (tmp), "%s%s%s",
- (*((short *) option->data) & SORT_REVERSE) ?
- "reverse-" : "",
- (*((short *) option->data) & SORT_LAST) ? "last-" :
- "", p);
- }
+ p = mutt_getnamebyvalue(*((short *) option->data) & SORT_MASK, map);
+ snprintf(tmp, sizeof(tmp), "%s%s%s",
+ (*((short *)option->data) & SORT_REVERSE) ? "reverse-" : "",
+ (*((short *)option->data) & SORT_LAST) ? "last-" : "", p);
+ }
}
else if (DTYPE (option->type) == DT_BOOL)
strfcpy (tmp, option (option->data) ? "yes" : "no",
}
else if (DTYPE (option->type) == DT_BOOL)
strfcpy (tmp, option (option->data) ? "yes" : "no",
snprintf (pt, dlen, "%s\"%s\"", tmp, tmp2);
return 1;
snprintf (pt, dlen, "%s\"%s\"", tmp, tmp2);
return 1;
- memset (&err, 0, sizeof (err));
- memset (&token, 0, sizeof (token));
+ memset (&err, 0, sizeof(err));
+ memset (&token, 0, sizeof(token));
- snprintf (command, sizeof (command), "set ?%s\n", p->data);
+ snprintf (command, sizeof(command), "set ?%s\n", p->data);
if (mutt_parse_rc_line (command, &token, &err) == -1) {
fprintf (stderr, "%s\n", err.data);
if (mutt_parse_rc_line (command, &token, &err) == -1) {
fprintf (stderr, "%s\n", err.data);
- err.dsize = sizeof (errstr);
- memset (&token, 0, sizeof (token));
+ err.dsize = sizeof(errstr);
+ memset (&token, 0, sizeof(token));
for (; p; p = p->next) {
if (mutt_parse_rc_line (p->data, &token, &err) != 0) {
fprintf (stderr, _("Error in command line: %s\n"), err.data);
for (; p; p = p->next) {
if (mutt_parse_rc_line (p->data, &token, &err) != 0) {
fprintf (stderr, _("Error in command line: %s\n"), err.data);
for (i = 0; MuttVars[i].option; i++) {
if (DTYPE (MuttVars[i].type) != DT_SYS)
hash_insert (ConfigOptions, MuttVars[i].option, &MuttVars[i], 0);
for (i = 0; MuttVars[i].option; i++) {
if (DTYPE (MuttVars[i].type) != DT_SYS)
hash_insert (ConfigOptions, MuttVars[i].option, &MuttVars[i], 0);
"\033]9;%ld\a", (long) time (NULL));
/* on one of the systems I use, getcwd() does not return the same prefix
"\033]9;%ld\a", (long) time (NULL));
/* on one of the systems I use, getcwd() does not return the same prefix
if ((p = strchr (utsname.nodename, '.'))) {
Hostname = str_substrdup (utsname.nodename, p);
p++;
if ((p = strchr (utsname.nodename, '.'))) {
Hostname = str_substrdup (utsname.nodename, p);
p++;
sprintf (Fqdn, "%s.%s", NONULL (Hostname), DOMAIN); /* __SPRINTF_CHECKED__ */
}
else
sprintf (Fqdn, "%s.%s", NONULL (Hostname), DOMAIN); /* __SPRINTF_CHECKED__ */
}
else
- mutt_concat_path (buffer, NONULL (Homedir), MAILPATH, sizeof (buffer));
+ mutt_concat_path (buffer, NONULL (Homedir), MAILPATH, sizeof(buffer));
- mutt_concat_path (buffer, MAILPATH, NONULL (Username), sizeof (buffer));
+ mutt_concat_path (buffer, MAILPATH, NONULL (Username), sizeof(buffer));
- snprintf (buffer, sizeof (buffer), "Reply-To: %s", p);
+ snprintf (buffer, sizeof(buffer), "Reply-To: %s", p);
parse_my_hdr (&token, &buf, 0, &err);
parse_my_hdr (&token, &buf, 0, &err);
* When changing the code which looks for a configuration file,
* please also change the corresponding code in muttbug.sh.in.
* When changing the code which looks for a configuration file,
* please also change the corresponding code in muttbug.sh.in.
- snprintf (buffer, sizeof (buffer), "%s/.muttngrc-%s", NONULL (Homedir),
+ snprintf (buffer, sizeof(buffer), "%s/.muttngrc-%s", NONULL (Homedir),
- snprintf (buffer, sizeof (buffer), "%s/.muttngrc", NONULL (Homedir));
+ snprintf (buffer, sizeof(buffer), "%s/.muttngrc", NONULL (Homedir));
- snprintf (buffer, sizeof (buffer), "%s/.muttng/muttngrc-%s",
+ snprintf (buffer, sizeof(buffer), "%s/.muttng/muttngrc-%s",
NONULL (Homedir), MUTT_VERSION);
if (access (buffer, F_OK) == -1)
#endif
NONULL (Homedir), MUTT_VERSION);
if (access (buffer, F_OK) == -1)
#endif
- snprintf (buffer, sizeof (buffer), "%s/.muttng/muttngrc",
+ snprintf (buffer, sizeof(buffer), "%s/.muttng/muttngrc",
- strfcpy (buffer, Muttrc, sizeof (buffer));
- mem_free (&Muttrc);
- mutt_expand_path (buffer, sizeof (buffer));
+ strfcpy (buffer, Muttrc, sizeof(buffer));
+ p_delete(&Muttrc);
+ mutt_expand_path (buffer, sizeof(buffer));
AliasFile = str_dup (NONULL (Muttrc));
/* Process the global rc file if it exists and the user hasn't explicity
requested not to via "-n". */
if (!skip_sys_rc) {
AliasFile = str_dup (NONULL (Muttrc));
/* Process the global rc file if it exists and the user hasn't explicity
requested not to via "-n". */
if (!skip_sys_rc) {
- snprintf (buffer, sizeof (buffer), "%s/Muttngrc-%s", SYSCONFDIR,
+ snprintf (buffer, sizeof(buffer), "%s/Muttngrc-%s", SYSCONFDIR,
- snprintf (buffer, sizeof (buffer), "%s/Muttngrc", SYSCONFDIR);
+ snprintf (buffer, sizeof(buffer), "%s/Muttngrc", SYSCONFDIR);
- snprintf (buffer, sizeof (buffer), "%s/Muttngrc-%s", PKGDATADIR,
+ snprintf (buffer, sizeof(buffer), "%s/Muttngrc-%s", PKGDATADIR,
- snprintf (buffer, sizeof (buffer), "%s/Muttngrc", PKGDATADIR);
+ snprintf (buffer, sizeof(buffer), "%s/Muttngrc", PKGDATADIR);
if (access (buffer, F_OK) != -1) {
if (source_rc (buffer, &err) != 0) {
fputs (err.data, stderr);
if (access (buffer, F_OK) != -1) {
if (source_rc (buffer, &err) != 0) {
fputs (err.data, stderr);
- snprintf (buffer, sizeof (buffer), "%s: %s", Muttrc, strerror (errno));
+ snprintf (buffer, sizeof(buffer), "%s: %s", Muttrc, strerror (errno));
if (str_cmp (buf, option->init) != 0)
list_push_back (l, option);
}
if (str_cmp (buf, option->init) != 0)
list_push_back (l, option);
}
- qsort (tmp->data, tmp->length, sizeof (void*), opt_cmp);
+ qsort (tmp->data, tmp->length, sizeof(void*), opt_cmp);
for (i = 0; i < tmp->length; i++) {
option = (struct option_t*) tmp->data[i];
FuncTable[DTYPE (option->type)].opt_to_string
for (i = 0; i < tmp->length; i++) {
option = (struct option_t*) tmp->data[i];
FuncTable[DTYPE (option->type)].opt_to_string