commit-mailutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Mailutils branch, master, updated. release-2.2-331-g426df17


From: Sergey Poznyakoff
Subject: [SCM] GNU Mailutils branch, master, updated. release-2.2-331-g426df17
Date: Tue, 28 Dec 2010 22:49:48 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mailutils".

http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=426df179766b4b144cf746dfc56f4b4a9f80b3ac

The branch, master has been updated
       via  426df179766b4b144cf746dfc56f4b4a9f80b3ac (commit)
      from  43508b4588ff631efbb22ee3cb84a802358b5e44 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 426df179766b4b144cf746dfc56f4b4a9f80b3ac
Author: Sergey Poznyakoff <address@hidden>
Date:   Wed Dec 29 00:47:26 2010 +0200

    Bugfixes.
    
    * libmailutils/url/create.c (_mu_url_create_internal): Fix
    parsing of the '|' shortcuts.
    * libmailutils/tests/url.at: Fix '|' test. Add 'prog://' test.
    
    * movemail/movemail.c (set_program_id): Call mu_stdstream_strerr_setup
    to flush changes.
    * frm/common.c: Minor changes

-----------------------------------------------------------------------

Summary of changes:
 frm/common.c              |   14 +++++---------
 libmailutils/tests/url.at |   18 +++++++++++++++---
 libmailutils/url/create.c |   19 +++++++++++++------
 movemail/movemail.c       |    1 +
 4 files changed, 34 insertions(+), 18 deletions(-)

diff --git a/frm/common.c b/frm/common.c
index 3363432..4fea29c 100644
--- a/frm/common.c
+++ b/frm/common.c
@@ -388,19 +388,15 @@ get_personal (mu_header_t hdr, const char *field, char 
**personal)
   if (status == 0)
     {
       mu_address_t address = NULL;
-      char *s = NULL;
+      const char *s = NULL;
       
       mu_address_create (&address, hfield);
       
-      mu_address_aget_personal (address, 1, &s);
-      mu_address_destroy (&address);
+      mu_address_sget_personal (address, 1, &s);
       if (s == NULL)
        s = hfield;
-      else
-       free (hfield);
-
       *personal = rfc2047_decode_wrapper (s, strlen (s));
-      free (s);
+      mu_address_destroy (&address);
     }
   return status;
 }
@@ -483,7 +479,7 @@ action (mu_observer_t o, size_t type, void *data, void 
*action_data)
              format_field ("");
 
            status = mu_header_aget_value_unfold (hdr, MU_HEADER_SUBJECT,
-                                              &tmp);
+                                                 &tmp);
            if (status == 0)
              {
                char *s = rfc2047_decode_wrapper (tmp, strlen (tmp));
@@ -581,7 +577,7 @@ frm_scan (char *mailbox_name, frm_select_t fun, size_t 
*total)
       status = mu_mailbox_scan (mbox, 1, total);
       if (status != 0)
        {
-         mu_error (_("could not scan mailbox `%s': %s."),
+         mu_error (_("could not scan mailbox `%s': %s"),
                    mu_url_to_string (url), mu_strerror (status));
          frm_abort (&mbox);
        }
diff --git a/libmailutils/tests/url.at b/libmailutils/tests/url.at
index 9f933ea..f24fa77 100644
--- a/libmailutils/tests/url.at
+++ b/libmailutils/tests/url.at
@@ -804,9 +804,21 @@ auth <>
 host <>
 port 0
 path </bin/mailman>
-query[0] </bin/mailman>
-query[1] <request>
-query[2] <list%40dom>
+query[0] <request>
+query[1] <list%40dom>
+]])
+
+TESTURL([],[],
+[prog:///bin/mailman?request&list%40dom],
+[[scheme <prog>
+user <>
+passwd <>
+auth <>
+host <>
+port 0
+path </bin/mailman>
+query[0] <request>
+query[1] <address@hidden>
 ]])
 
 m4_popdef([TESTURL])
diff --git a/libmailutils/url/create.c b/libmailutils/url/create.c
index 0d0cb30..bddc7cc 100644
--- a/libmailutils/url/create.c
+++ b/libmailutils/url/create.c
@@ -378,6 +378,7 @@ _mu_url_create_internal (struct mu_url_ctx *ctx, mu_url_t 
hint)
   if ((ctx->flags & MU_URL_PARSE_PIPE) && ctx->input[0] == '|')
     {
       struct mu_wordsplit ws;
+      size_t i;
       
       rc = str_assign (&url->scheme, "prog");
       if (rc)
@@ -386,15 +387,21 @@ _mu_url_create_internal (struct mu_url_ctx *ctx, mu_url_t 
hint)
       ctx->flags &= ~MU_URL_PARSE_HEXCODE;
       if (mu_wordsplit (ctx->input + 1, &ws, MU_WRDSF_DEFFLAGS))
        return errno;
-      url->qargc = ws.ws_wordc;
-      url->qargv = ws.ws_wordv;
+      url->path = ws.ws_wordv[0];
+      url->flags |= MU_URL_PATH;
+      
+      url->qargc = ws.ws_wordc - 1;
+      url->qargv = calloc (url->qargc + 1, sizeof (url->qargv[0]));
+      if (!url->qargv)
+       {
+         mu_wordsplit_free (&ws);
+         return ENOMEM;
+       }
+      for (i = 0; i < url->qargc; i++)
+       url->qargv[i] = ws.ws_wordv[i+1];
       ws.ws_wordc = 0;
-      ws.ws_wordv = NULL;
       mu_wordsplit_free (&ws);
       url->flags |= MU_URL_QUERY;
-      rc = str_assign (&url->path, url->qargv[0]);
-      if (rc == 0)
-       url->flags |= MU_URL_PATH;
     }
   else if ((ctx->flags & MU_URL_PARSE_SLASH) && ctx->input[0] == '/')
     {
diff --git a/movemail/movemail.c b/movemail/movemail.c
index 9a0133f..13e71c4 100644
--- a/movemail/movemail.c
+++ b/movemail/movemail.c
@@ -828,6 +828,7 @@ set_program_id (const char *source_name, const char 
*dest_name)
   ws.ws_wordv[0] = NULL;
   ws.ws_wordc = 0;
   mu_wordsplit_free (&ws);
+  mu_stdstream_strerr_setup (MU_STRERR_STDERR);
 }
 
 


hooks/post-receive
-- 
GNU Mailutils



reply via email to

[Prev in Thread] Current Thread [Next in Thread]