summaryrefslogtreecommitdiff
path: root/mh
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2015-09-19 13:23:50 +0300
committerSergey Poznyakoff <gray@gnu.org>2015-09-19 13:37:09 +0300
commitad3cc340266af4e1d768e6d3e59594f78cd6f940 (patch)
treec1b111a06c0b9bbe5ce806ed02089f5f1523d307 /mh
parentf160ca75991d5bf994afe3cb5bc549b113b14bbd (diff)
downloadmailutils-ad3cc340266af4e1d768e6d3e59594f78cd6f940.tar.gz
mailutils-ad3cc340266af4e1d768e6d3e59594f78cd6f940.tar.bz2
Complement f160ca75
* include/mailutils/wordsplit.h (MU_WRDSX_WORD) (MU_WRDSX_QUOTE): New constants. (mu_wordsplit_getwords): Rename to mu_wordsplit_get_words. * libmailutils/string/wordsplit.c (mu_wordsplit_getwords): Rename to mu_wordsplit_get_words. * libmailutils/base/userprivs.c (mu_switch_to_privs): Fix memory overrun when retrieving the current pointer. * examples/header.c (main): Use mu_wordsplit_get_words * imap4d/preauth.c (preauth_getvar): Rewrite according to the new API. * libmailutils/imapio/create.c (mu_imapio_create): Use MU_WRDSX_ constants to address ws_escape. * libmailutils/imapio/qstring.c: Likewise. * libmailutils/mailbox/mbx_default.c: Minor fix. * libmailutils/server/acl.c (acl_getvar): Rewrite according to the new API. * libmailutils/tests/wsp.c: Minor fix. * libmailutils/url/create.c (_mu_url_create_internal): Bugfix: alloc url->path. * libmu_sieve/extensions/list.c (retrieve_next_header): Use mu_wordsplit_get_words * libproto/mailer/prog.c (prog_getvar): Rewrite according to the new API. * libproto/mailer/smtp_gsasl.c (get_implemented_mechs): Remove unneeded assignment to ws.ws_wordv. * mh/folder.c: Use mu_wordsplit_get_words. * mh/mhn.c: Likewise. * movemail/movemail.c (movemail_getvar): Rewrite according to the new API.
Diffstat (limited to 'mh')
-rw-r--r--mh/folder.c19
-rw-r--r--mh/mhn.c21
2 files changed, 17 insertions, 23 deletions
diff --git a/mh/folder.c b/mh/folder.c
index dd5b5accc..0807dd73b 100644
--- a/mh/folder.c
+++ b/mh/folder.c
@@ -518,7 +518,7 @@ action_list ()
/* Push & pop */
static void
-get_stack (int *pc, char ***pv)
+get_stack (size_t *pc, char ***pv)
{
struct mu_wordsplit ws;
const char *stack = mh_global_context_get ("Folder-Stack", NULL);
@@ -535,10 +535,7 @@ get_stack (int *pc, char ***pv)
}
else
{
- *pc = ws.ws_wordc;
- *pv = ws.ws_wordv;
- ws.ws_wordc = 0;
- ws.ws_wordv = NULL;
+ mu_wordsplit_get_words (&ws, pc, pv);
mu_wordsplit_free (&ws);
}
}
@@ -559,9 +556,9 @@ set_stack (int c, char **v)
}
static void
-push_val (int *pc, char ***pv, const char *val)
+push_val (size_t *pc, char ***pv, const char *val)
{
- int c = *pc;
+ size_t c = *pc;
char **v = *pv;
c++;
@@ -581,10 +578,10 @@ push_val (int *pc, char ***pv, const char *val)
}
static char *
-pop_val (int *pc, char ***pv)
+pop_val (size_t *pc, char ***pv)
{
char *val;
- int c;
+ size_t c;
char **v;
if (*pc == 0)
@@ -603,7 +600,7 @@ pop_val (int *pc, char ***pv)
static int
action_push ()
{
- int c;
+ size_t c;
char **v;
get_stack (&c, &v);
@@ -628,7 +625,7 @@ action_push ()
static int
action_pop ()
{
- int c;
+ size_t c;
char **v;
get_stack (&c, &v);
diff --git a/mh/mhn.c b/mh/mhn.c
index e092d836e..6bde07d0c 100644
--- a/mh/mhn.c
+++ b/mh/mhn.c
@@ -199,7 +199,7 @@ split_content (const char *content, char **type, char **subtype)
}
static void
-split_args (const char *argstr, size_t len, int *pargc, char ***pargv)
+split_args (const char *argstr, size_t len, size_t *pargc, char ***pargv)
{
struct mu_wordsplit ws;
@@ -215,10 +215,7 @@ split_args (const char *argstr, size_t len, int *pargc, char ***pargv)
}
else
{
- *pargc = ws.ws_wordc;
- *pargv = ws.ws_wordv;
- ws.ws_wordc = 0;
- ws.ws_wordv = NULL;
+ mu_wordsplit_get_words (&ws, pargc, pargv);
mu_wordsplit_free (&ws);
}
}
@@ -631,7 +628,7 @@ mhn_compose_command (char *typestr, char *typeargs, int *flags, char *file)
{
const char *p, *str;
char *type, *subtype, **typeargv = NULL;
- int typeargc = 0;
+ size_t typeargc = 0;
mu_opool_t pool;
split_content (typestr, &type, &subtype);
@@ -662,7 +659,7 @@ mhn_compose_command (char *typestr, char *typeargs, int *flags, char *file)
/* additional arguments */
if (typeargs)
{
- int i;
+ size_t i;
if (!typeargv)
split_args (typeargs, strlen (typeargs),
@@ -741,7 +738,7 @@ check_type (const char *typeargs, const char *typeval)
if (typeargs)
{
- int i, argc;
+ size_t i, argc;
char **argv;
split_args (typeargs, strlen (typeargs), &argc, &argv);
@@ -769,7 +766,7 @@ mhn_show_command (mu_message_t msg, msg_part_t part, int *flags,
mu_opool_t pool;
mu_header_t hdr;
char *temp_cmd = NULL;
- int typeargc = 0;
+ size_t typeargc = 0;
char **typeargv = NULL;
mu_message_get_header (msg, &hdr);
@@ -1084,7 +1081,7 @@ _message_is_external_body (mu_message_t msg, char ***env)
rc = subtype && strcmp (subtype, "external-body") == 0;
if (rc && env)
{
- int c;
+ size_t c;
split_args (argstr, strlen (argstr), &c, env);
}
@@ -2753,7 +2750,7 @@ parse_header_directive (const char *val, char **encoding, char **charset,
p = strchr (val, '>');
if (p)
{
- int i, argc;
+ size_t i, argc;
char **argv;
*subject = mu_strdup (p + 1);
@@ -2819,7 +2816,7 @@ mhn_header (mu_message_t msg, mu_message_t omsg)
_get_content_encoding (parthdr, &encoding);
if (typeargs)
{
- int i, argc;
+ size_t i, argc;
char **argv;
split_args (typeargs, strlen (typeargs), &argc, &argv);

Return to:

Send suggestions and report system problems to the System administrator.