*col = strtol(s, &eptr, 10);
if (!*s || *eptr || *col < 0 || (*col >= COLORS && !OptNoCurses && has_colors()))
{
- snprintf(err->data, err->dsize, _("%s: color not supported by term"), s);
+ mutt_buffer_printf(err, _("%s: color not supported by term"), s);
return -1;
}
}
else if ((*col = mutt_map_get_value(s, Colors)) == -1)
{
- snprintf(err->data, err->dsize, _("%s: no such color"), s);
+ mutt_buffer_printf(err, _("%s: no such color"), s);
return -1;
}
object = mutt_map_get_value(buf->data, Fields);
if (object == -1)
{
- snprintf(err->data, err->dsize, _("%s: no such object"), buf->data);
+ mutt_buffer_printf(err, _("%s: no such object"), buf->data);
return -1;
}
(mutt_str_strncmp(buf->data, "header", 6) != 0) &&
(mutt_str_strncmp(buf->data, "index", 5) != 0))
{
- snprintf(err->data, err->dsize,
- _("%s: command valid only for index, body, header objects"),
- parse_uncolor ? "uncolor" : "unmono");
+ mutt_buffer_printf(err, _("%s: command valid only for index, body, header objects"),
+ parse_uncolor ? "uncolor" : "unmono");
return -1;
}
if (!MoreArgs(s))
{
- snprintf(err->data, err->dsize, _("%s: too few arguments"),
- parse_uncolor ? "uncolor" : "unmono");
+ mutt_buffer_printf(err, _("%s: too few arguments"), parse_uncolor ? "uncolor" : "unmono");
return -1;
}
*ql = strtol(buf->data + 6, &eptr, 10);
if (*eptr || *ql < 0)
{
- snprintf(err->data, err->dsize, _("%s: no such object"), buf->data);
+ mutt_buffer_printf(err, _("%s: no such object"), buf->data);
return -1;
}
}
*o = mutt_map_get_value(buf->data, ComposeFields);
if (*o == -1)
{
- snprintf(err->data, err->dsize, _("%s: no such object"), buf->data);
+ mutt_buffer_printf(err, _("%s: no such object"), buf->data);
return (-1);
}
}
else if ((*o = mutt_map_get_value(buf->data, Fields)) == -1)
{
- snprintf(err->data, err->dsize, _("%s: no such object"), buf->data);
+ mutt_buffer_printf(err, _("%s: no such object"), buf->data);
return -1;
}
*attr = A_NORMAL; /* needs use = instead of |= to clear other bits */
else
{
- snprintf(err->data, err->dsize, _("%s: no such attribute"), buf->data);
+ mutt_buffer_printf(err, _("%s: no such attribute"), buf->data);
return -1;
}
#define CHECK_PAGER \
if ((CurrentMenu == MENU_PAGER) && (idx >= 0) && (MuttVars[idx].flags & R_RESORT)) \
{ \
- snprintf(err->data, err->dsize, "%s", _("Not available in this menu.")); \
+ mutt_buffer_printf(err, "%s", _("Not available in this menu.")); \
return -1; \
}
i = mutt_map_get_value(s, map);
if (i == -1)
{
- snprintf(err->data, err->dsize, _("%s: unknown sorting method"), s);
+ mutt_buffer_printf(err, _("%s: unknown sorting method"), s);
return -1;
}
f = mutt_open_read(rcfile, &pid);
if (!f)
{
- snprintf(err->data, err->dsize, "%s: %s", rcfile, strerror(errno));
+ mutt_buffer_printf(err, "%s: %s", rcfile, strerror(errno));
return -1;
}
if (rc)
{
/* the neomuttrc source keyword */
- snprintf(err->data, err->dsize,
- rc >= -MAXERRS ?
- _("source: errors in %s") :
- _("source: reading aborted due to too many errors in %s"),
- rcfile);
+ mutt_buffer_printf(err, (rc >= -MAXERRS) ? _("source: errors in %s") : _("source: reading aborted due to too many errors in %s"),
+ rcfile);
rc = -1;
}
else
/* Don't alias errors with warnings */
if (warnings > 0)
{
- snprintf(err->data, err->dsize,
- ngettext("source: %d warning in %s", "source: %d warnings in %s", warnings),
- warnings, rcfile);
+ mutt_buffer_printf(err, ngettext("source: %d warning in %s", "source: %d warnings in %s", warnings),
+ warnings, rcfile);
rc = -2;
}
}
if (mutt_addrlist_to_intl(tmp->addr, &estr))
{
- snprintf(err->data, err->dsize, _("Warning: Bad IDN '%s' in alias '%s'.\n"),
- estr, tmp->name);
+ mutt_buffer_printf(err, _("Warning: Bad IDN '%s' in alias '%s'.\n"), estr, tmp->name);
FREE(&estr);
goto bail;
}
switch (state)
{
case GS_NONE:
- snprintf(err->data, err->dsize, _("%sgroup: missing -rx or -addr."),
- data == MUTT_UNGROUP ? "un" : "");
+ mutt_buffer_printf(err, _("%sgroup: missing -rx or -addr."),
+ (data == MUTT_UNGROUP) ? "un" : "");
goto bail;
case GS_RX:
goto bail;
if (mutt_addrlist_to_intl(addr, &estr))
{
- snprintf(err->data, err->dsize, _("%sgroup: warning: bad IDN '%s'.\n"),
- data == 1 ? "un" : "", estr);
+ mutt_buffer_printf(err, _("%sgroup: warning: bad IDN '%s'.\n"),
+ data == 1 ? "un" : "", estr);
mutt_addr_free(&addr);
FREE(&estr);
goto bail;
if (!MoreArgs(s))
{
- snprintf(err->data, err->dsize, _("%s: too few arguments"), (data ? "ifndef" : "ifdef"));
+ mutt_buffer_printf(err, _("%s: too few arguments"), (data ? "ifndef" : "ifdef"));
return -1;
}
mutt_extract_token(buf, s, MUTT_TOKEN_SPACE);
else if ((idx = mutt_option_index(buf->data)) == -1 &&
!(reset && (mutt_str_strcmp("all", buf->data) == 0)))
{
- snprintf(err->data, err->dsize, _("%s: unknown variable"), buf->data);
+ mutt_buffer_printf(err, _("%s: unknown variable"), buf->data);
return -1;
}
SKIPWS(s->dptr);
{
if (query || unset || inv)
{
- snprintf(err->data, err->dsize, "%s", _("prefix is illegal with reset"));
+ mutt_buffer_printf(err, "%s", _("prefix is illegal with reset"));
return -1;
}
if (*s->dptr == '=')
{
- snprintf(err->data, err->dsize, "%s", _("value is illegal with reset"));
+ mutt_buffer_printf(err, "%s", _("value is illegal with reset"));
return -1;
}
{
if (CurrentMenu == MENU_PAGER)
{
- snprintf(err->data, err->dsize, "%s", _("Not available in this menu."));
+ mutt_buffer_printf(err, "%s", _("Not available in this menu."));
return -1;
}
for (idx = 0; MuttVars[idx].name; idx++)
{
if (unset || inv || query)
{
- snprintf(err->data, err->dsize, "%s", _("Usage: set variable=yes|no"));
+ mutt_buffer_printf(err, "%s", _("Usage: set variable=yes|no"));
return -1;
}
unset = 1;
else
{
- snprintf(err->data, err->dsize, "%s", _("Usage: set variable=yes|no"));
+ mutt_buffer_printf(err, "%s", _("Usage: set variable=yes|no"));
return -1;
}
}
if (query)
{
- snprintf(err->data, err->dsize,
- *(bool *) MuttVars[idx].var ? _("%s is set") : _("%s is unset"),
- buf->data);
+ mutt_buffer_printf(err, *(bool *) MuttVars[idx].var ? _("%s is set") : _("%s is unset"),
+ buf->data);
return 0;
}
}
else
{
- snprintf(err->data, err->dsize, _("%s: unknown variable"), myvar);
+ mutt_buffer_printf(err, _("%s: unknown variable"), myvar);
return -1;
}
}
/* $charset can't be empty, others can */
((strcmp(MuttVars[idx].name, "charset") == 0) && !*buf->data))
{
- snprintf(err->data, err->dsize, _("Invalid value for option %s: \"%s\""),
- MuttVars[idx].name, buf->data);
+ mutt_buffer_printf(err, _("Invalid value for option %s: \"%s\""),
+ MuttVars[idx].name, buf->data);
return -1;
}
"show_multipart_alternative") == 0) &&
!valid_show_multipart_alternative(buf->data))
{
- snprintf(err->data, err->dsize, _("Invalid value for name %s: \"%s\""),
- MuttVars[idx].name, buf->data);
+ mutt_buffer_printf(err, _("Invalid value for name %s: \"%s\""),
+ MuttVars[idx].name, buf->data);
return -1;
}
}
if (OptAttachMsg && (mutt_str_strcmp(MuttVars[idx].name, "reply_regex") == 0))
{
- snprintf(err->data, err->dsize, "Operation not permitted when in attach-message mode.");
+ mutt_buffer_printf(
+ err, "Operation not permitted when in attach-message mode.");
r = -1;
break;
}
p = "unknown";
break;
}
- snprintf(err->data, err->dsize, "%s=%s", MuttVars[idx].name, p);
+ mutt_buffer_printf(err, "%s=%s", MuttVars[idx].name, p);
break;
}
mutt_extract_token(buf, s, MUTT_TOKEN_BACKTICK_VARS);
if (mx_set_magic(buf->data))
{
- snprintf(err->data, err->dsize, _("%s: invalid mailbox type"), buf->data);
+ mutt_buffer_printf(err, _("%s: invalid mailbox type"), buf->data);
r = -1;
break;
}
val = *ptr < 0 ? -*ptr : 0;
/* user requested the value of this variable */
- snprintf(err->data, err->dsize, "%s=%d", MuttVars[idx].name, val);
+ mutt_buffer_printf(err, "%s=%d", MuttVars[idx].name, val);
break;
}
if (rc < 0 || !*buf->data)
{
- snprintf(err->data, err->dsize, _("%s: invalid value (%s)"), buf->data,
- rc == -1 ? _("format error") : _("number overflow"));
+ mutt_buffer_printf(err, _("%s: invalid value (%s)"), buf->data,
+ (rc == -1) ? _("format error") : _("number overflow"));
r = -1;
break;
}
{
static const char *const vals[] = { "no", "yes", "ask-no", "ask-yes" };
- snprintf(err->data, err->dsize, "%s=%s", MuttVars[idx].name,
- vals[*(unsigned char *) MuttVars[idx].var]);
+ mutt_buffer_printf(err, "%s=%s", MuttVars[idx].name,
+ vals[*(unsigned char *) MuttVars[idx].var]);
break;
}
*(unsigned char *) MuttVars[idx].var = MUTT_ASKNO;
else
{
- snprintf(err->data, err->dsize, _("%s: invalid value"), buf->data);
+ mutt_buffer_printf(err, _("%s: invalid value"), buf->data);
r = -1;
break;
}
if (!map)
{
- snprintf(err->data, err->dsize, _("%s: Unknown type."), MuttVars[idx].name);
+ mutt_buffer_printf(err, _("%s: Unknown type."), MuttVars[idx].name);
r = -1;
break;
}
{
p = mutt_map_get_name(*((short *) MuttVars[idx].var) & SORT_MASK, map);
- snprintf(err->data, err->dsize, "%s=%s%s%s", MuttVars[idx].name,
- (*((short *) MuttVars[idx].var) & SORT_REVERSE) ? "reverse-" : "",
- (*((short *) MuttVars[idx].var) & SORT_LAST) ? "last-" : "", p);
+ mutt_buffer_printf(
+ err, "%s=%s%s%s", MuttVars[idx].name,
+ (*((short *) MuttVars[idx].var) & SORT_REVERSE) ? "reverse-" : "",
+ (*((short *) MuttVars[idx].var) & SORT_LAST) ? "last-" : "", p);
return 0;
}
CHECK_PAGER;
}
else
{
- snprintf(err->data, err->dsize, _("%s: invalid backend"), buf->data);
+ mutt_buffer_printf(err, _("%s: invalid backend"), buf->data);
r = -1;
break;
}
#endif
else
{
- snprintf(err->data, err->dsize, _("%s: unknown type"),
- (idx >= 0) ? MuttVars[idx].name : "unknown");
+ mutt_buffer_printf(err, _("%s: unknown type"),
+ (idx >= 0) ? MuttVars[idx].name : "unknown");
r = -1;
break;
}
return 0;
}
- snprintf(err->data, err->dsize, _("%s is unset"), buf->data);
+ mutt_buffer_printf(err, _("%s is unset"), buf->data);
return -1;
}
{
if (mutt_extract_token(buf, s, 0) != 0)
{
- snprintf(err->data, err->dsize, _("source: error at %s"), s->dptr);
+ mutt_buffer_printf(err, _("source: error at %s"), s->dptr);
return -1;
}
mutt_str_strfcpy(path, buf->data, sizeof(path));
if (source_rc(path, err) < 0)
{
- snprintf(err->data, err->dsize, _("source: file %s could not be sourced."), path);
+ mutt_buffer_printf(err, _("source: file %s could not be sourced."), path);
return -1;
}
}
else
{
- snprintf(err->data, err->dsize, _("%s: Unknown type."), MuttVars[idx].name);
+ mutt_buffer_printf(err, _("%s: Unknown type."), MuttVars[idx].name);
return -1;
}
break;
if (!map)
{
- snprintf(err->data, err->dsize, _("%s: Unknown type."), MuttVars[idx].name);
+ mutt_buffer_printf(err, _("%s: Unknown type."), MuttVars[idx].name);
return -1;
}
}
if (!Commands[i].name)
{
- snprintf(err->data, err->dsize, _("%s: unknown command"), NONULL(token->data));
+ mutt_buffer_printf(err, _("%s: unknown command"), NONULL(token->data));
r = -1;
break; /* Ignore the rest of the line */
}
char *pexpr = s->dptr;
if (mutt_extract_token(&buf, s, MUTT_TOKEN_PATTERN | MUTT_TOKEN_COMMENT) != 0 || !buf.data)
{
- snprintf(err->data, err->dsize, _("Error in expression: %s"), pexpr);
+ mutt_buffer_printf(err, _("Error in expression: %s"), pexpr);
return false;
}
if (!*buf.data)
{
- snprintf(err->data, err->dsize, "%s", _("Empty expression"));
+ mutt_buffer_printf(err, "%s", _("Empty expression"));
return false;
}
t->tm_mday = strtol(s, &p, 10);
if (t->tm_mday < 1 || t->tm_mday > 31)
{
- snprintf(err->data, err->dsize, _("Invalid day of month: %s"), s);
+ mutt_buffer_printf(err, _("Invalid day of month: %s"), s);
return NULL;
}
if (*p != '/')
t->tm_mon = strtol(p, &p, 10) - 1;
if (t->tm_mon < 0 || t->tm_mon > 11)
{
- snprintf(err->data, err->dsize, _("Invalid month: %s"), p);
+ mutt_buffer_printf(err, _("Invalid month: %s"), p);
return NULL;
}
if (*p != '/')
}
if ((flag & MUTT_PDR_ERROR) && !(flag & MUTT_PDR_ABSOLUTE))
{ /* get_date has its own error message, don't overwrite it here */
- snprintf(err->data, err->dsize, _("Invalid relative date: %s"), pc - 1);
+ mutt_buffer_printf(err, _("Invalid relative date: %s"), pc - 1);
}
return ((flag & MUTT_PDR_ERROR) ? NULL : pc);
}
if (mutt_extract_token(&buffer, s, MUTT_TOKEN_COMMENT | MUTT_TOKEN_PATTERN) != 0 ||
!buffer.data)
{
- snprintf(err->data, err->dsize, _("Error in expression: %s"), pexpr);
+ mutt_buffer_printf(err, _("Error in expression: %s"), pexpr);
return false;
}
if (!*buffer.data)
{
- snprintf(err->data, err->dsize, "%s", _("Empty expression"));
+ mutt_buffer_printf(err, "%s", _("Empty expression"));
return false;
}
{
if (!curlist)
{
- snprintf(err->data, err->dsize, _("error in pattern at: %s"), ps.dptr);
+ mutt_buffer_printf(err, _("error in pattern at: %s"), ps.dptr);
return NULL;
}
if (curlist->next)
case '~':
if (!*(ps.dptr + 1))
{
- snprintf(err->data, err->dsize, _("missing pattern: %s"), ps.dptr);
+ mutt_buffer_printf(err, _("missing pattern: %s"), ps.dptr);
mutt_pattern_free(&curlist);
return NULL;
}
p = find_matching_paren(ps.dptr + 1);
if (*p != ')')
{
- snprintf(err->data, err->dsize, _("mismatched brackets: %s"), ps.dptr);
+ mutt_buffer_printf(err, _("mismatched brackets: %s"), ps.dptr);
mutt_pattern_free(&curlist);
return NULL;
}
entry = lookup_tag(*ps.dptr);
if (!entry)
{
- snprintf(err->data, err->dsize, _("%c: invalid pattern modifier"), *ps.dptr);
+ mutt_buffer_printf(err, _("%c: invalid pattern modifier"), *ps.dptr);
mutt_pattern_free(&curlist);
return NULL;
}
if (entry->class && (flags & entry->class) == 0)
{
- snprintf(err->data, err->dsize, _("%c: not supported in this mode"), *ps.dptr);
+ mutt_buffer_printf(err, _("%c: not supported in this mode"), *ps.dptr);
mutt_pattern_free(&curlist);
return NULL;
}
{
if (!*ps.dptr)
{
- snprintf(err->data, err->dsize, "%s", _("missing parameter"));
+ mutt_buffer_printf(err, "%s", _("missing parameter"));
mutt_pattern_free(&curlist);
return NULL;
}
p = find_matching_paren(ps.dptr + 1);
if (*p != ')')
{
- snprintf(err->data, err->dsize, _("mismatched parenthesis: %s"), ps.dptr);
+ mutt_buffer_printf(err, _("mismatched parenthesis: %s"), ps.dptr);
mutt_pattern_free(&curlist);
return NULL;
}
ps.dptr = p + 1; /* restore location */
break;
default:
- snprintf(err->data, err->dsize, _("error in pattern at: %s"), ps.dptr);
+ mutt_buffer_printf(err, _("error in pattern at: %s"), ps.dptr);
mutt_pattern_free(&curlist);
return NULL;
}