1. 28 Dec, 2016 3 commits
    • The mu_assoc_sort_r call sorts the elements of mu_assoc_t for
      subsequent iterative access.  Random access facilities remain
      undistrurbed.
      
      * include/mailutils/assoc.h (mu_assoc_comparator_t): New typedef.
      (mu_assoc_sort_r): New proto.
      * libmailutils/base/assoc.c (mu_assoc_sort_r): New function.
      * libmailutils/tests/mimehdr.c: Sort assoc elements prior to
      iteration.
      Sergey Poznyakoff authored
    • Correctly handle character set and language info embedded in
      parameter values, and eventual parameter value continuations
      as per RFC 2231, Section 3.
      
      * include/mailutils/assoc.h (mu_assoc_is_empty): New proto.
      * libmailutils/base/assoc.c (mu_assoc_is_empty): New function.
      
      * include/mailutils/mime.h (mu_mime_header_parse): Output charset is
      char const *.
      * libmailutils/mime/mimehdr.c (mu_mime_header_parse): Likewise.
      
      * include/mailutils/util.h (mu_content_type) <param>: Change type to
      mu_assoc_t
      (mu_param): Remove structure declaration.
      (mu_content_type_parse): Take an optional output charset.
      * libmailutils/base/ctparse.c (mu_content_type_parse): Rewrite using
      mu_mime_header_parse.
      
      * imap4d/fetch.c (send_parameter_list):  Rewrite using mu_mime_header_parse.
      (format_param): Use base64 for parameter values with explicit charsets.
      
      * libmailutils/tests/conttype.c: Reflect the changes to struct
      mu_content_type
      Sergey Poznyakoff authored
    • * include/mailutils/assoc.h (mu_assoc_action_t): New typedef.
      (mu_assoc_foreach): New function.
      * libmailutils/base/assoc.c (mu_assoc_foreach): New function.
      Sergey Poznyakoff authored
  2. 27 Dec, 2016 1 commit
    • * configure.ac (VI_REVISION): Increase.
      * include/mailutils/assoc.h (mu_assoc_create): Change prototype.
      (mu_assoc_ref,mu_assoc_ref_install)
      (mu_assoc_remove_ref): Remove.
      (mu_assoc_get): New proto.
      (mu_assoc_lookup,mu_assoc_lookup_ref): New proto.
      (mu_assoc_install_ref): New proto.
      (mu_assoc_set_free): Remove.
      (mu_assoc_set_destroy_item): Set proto.
      * include/mailutils/types.hin (mu_deallocator_t): New typedef.
      * include/mailutils/list.h (mu_list_destroy_item_t): Change definition.
      * libmailutils/base/assoc.c: Rewrite.  Link all entries in
      a doubly-linked list to preserve natural ordering during iterations.
      * libmailutils/base/mutil.c (mutil_parse_field_map): Update calls
      to assoc API.
      * libmailutils/cfg/driver.c (alloc_section_tab)
      (mu_create_canned_section,mu_create_canned_param)
      (mu_get_canned_container,parse_mapping)
      (mu_cfg_field_map): Likewise.
      * libmailutils/mime/mimehdr.c (_mu_mime_param_free): Free the pointer
      itself.
      (flush_param,mu_mime_param_assoc_create)
      (mu_mime_param_assoc_add)
      (_mime_header_parse)
      (mu_mimehdr_aget_decoded_param): Update calls to assoc API.
      (mu_mime_param_free): New function.
      * libmailutils/property/assocprop.c: Likewise.
      * libmu_sieve/environment.c: Likewise.
      * libmu_sieve/variables.c: Likewise.
      * libproto/imap/id.c: Likewise.
      * mail/alias.c: Likewise.
      * mail/testsuite/mail/alias.exp: Update ordering of expected output.
      * mu/imap.c (com_id): Update.
      
      * include/mailutils/mime.h (mu_rfc2047_decode_param): Change prototype.
      * libmailutils/base/rfc2047.c (mu_rfc2047_decode_param): Allocate
      returned value, instead of filling an already allocated structure.
      * libproto/imap/fetch.c: Reflect changes.
      Sergey Poznyakoff authored
  3. 26 Dec, 2016 1 commit
  4. 25 Dec, 2016 2 commits
    • * include/mailutils/message.h (mu_attachment_create)
      (mu_attachment_copy_from_stream)
      (mu_attachment_copy_from_file): New functions.
      * libmailutils/mime/attachment.c: Likewise.
      (mu_message_create_attachment): Rewrite using the three functions above.
      Sergey Poznyakoff authored
    • * libmailutils/string/strcount.c (mu_str_count): Take an array of
      (ASCII) characters to count occurrences of.  Optionally store individual
      counts in an array passed as the 3rd argument.
      * include/mailutils/cstr.h (mu_str_count): Change proto.
      (mu_c_str_escape, mu_c_str_escape_trans)
      (mu_c_str_unescape_inplace, mu_c_str_unescape)
      (mu_c_str_unescape_trans): New protos.
      * libmailutils/string/cstrescape.c: New file.
      * libmailutils/string/cstrunescape.c: New file.
      * libmailutils/string/Makefile.am: Add new files.
      Sergey Poznyakoff authored
  5. 22 Dec, 2016 1 commit
  6. 21 Dec, 2016 2 commits
  7. 20 Dec, 2016 2 commits
  8. 19 Dec, 2016 5 commits
    • The commit didn't take into account all possible option/argument combinations.
      
      * mh/pick.c (main): Preprocess command line prior to parsing it,
      expanding --COMP NAME in -component COMP -pattern NAME.
      * mh/mh_getopt.c: Revert fb84d1e3
      * mh/mh_getopt.h: Likewise.
      Sergey Poznyakoff authored
    • * configure.ac: Assume tokyo|kyoto cabinet will pull the
      necessary dependencies.
      Add GINT_LDADD if necessary
      * gint: Upgrade
      Sergey Poznyakoff authored
    • * configure.ac (MU_PRI_OFF_T): Define to the printf
      format spec suitable for printing mu_off_t.
      Don't use [ ] instead of test.
      * include/mailutils/types.hin (MU_PRI_OFF_T): New define.
      * include/mailutils/Makefile.am (type.h): Pass MU_PRI_OFF_T
      
      * examples/mboxsize.c: New file.
      * examples/Makefile.am: Build mboxsize
      Sergey Poznyakoff authored
    • Exclude from calculation any eventual nested mailboxes.
      
      * libproto/maildir/mbox.c: Provide the mailbox_size method.
      * libproto/mh/mbox.c: Likewise.
      Sergey Poznyakoff authored
    • * configure.ac: Fallback to guile installation prefix, if
      'guile-config info bindir' returns empty string.
      * doc/texinfo/programs.texi: Minor fix.
      * mail/mailline.c (ml_readline_init): Don't use obsolete
      CPPFunction type.
      * mu/shell.c (mutool_initialize_readline): Likewise.
      * scheme/sieve2scm.scmi: Fix typo.
      * sieve/sieve.c (main): Fix initialization of Sieve environment
      variables "location" and "post".
      Sergey Poznyakoff authored
  9. 17 Dec, 2016 3 commits
    • Sergey Poznyakoff authored
    • * examples/rename.c: Remove.
      * examples/fcopy.c: New file.
      * examples/fremove.c: New file.
      * examples/frename.c: New file.
      * examples/Makefile.am: Update.
      
      * include/mailutils/util.h (mu_rename_file): Add flags.
      (mu_remove_file): New function.
      (MU_COPY_OVERWRITE): New flag.
      * libmailutils/base/renamefile.c: New file.
      * libmailutils/base/Makefile.am: Add newe file.
      * libmailutils/base/copyfile.c: Fix error handling.
      * libmailutils/base/renamefile.c (mu_rename_file): Refuse to proceed if
      the destination file exists and MU_COPY_OVERWRITE flag is not set
      * libmailutils/diag/errors (MU_ERR_REMOVE_SOURCE)
      (MU_ERR_RESTORE_META): New errors
      
      * imap4d/rename.c (imap4d_rename): Use mu_rename_file
      * mh/forw.c: Likewise.
      * mh/mh_whatnow.c: Likewise.
      * mh/mhn.c: Likewise.
      * mh/send.c: Likewise.
      
      * include/mailutils/cstr.h (mu_str_count): New proto.
      * include/mailutils/util.h (mu_file_name_is_safe): New proto.
      * libmailutils/string/safefilename.c: New file.
      * libmailutils/string/strcount.c: New file.
      * libmailutils/string/Makefile.am: Update.
      Sergey Poznyakoff authored
    • * libmailutils/base/copyfile.c: New file.
      * libmailutils/base/renamefile.c: New file.
      
      * include/mailutils/util.h (mu_copy_file)
      (mu_rename_file): New protos.
      
      * libmailutils/base/Makefile.am: Add new files.
      * examples/rename.c: New file.
      * examples/Makefile.am: Add new files.
      
      * NEWS: Update.
      Sergey Poznyakoff authored
  10. 16 Dec, 2016 1 commit
  11. 15 Dec, 2016 2 commits
  12. 14 Dec, 2016 4 commits
  13. 13 Dec, 2016 10 commits
  14. 12 Dec, 2016 3 commits