From 14d6de97c5f54ec66dbb6b18ebe9cd0d279e4784 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 25 Jan 2015 01:21:53 -0800 Subject: [PATCH] add imap --- .travis.yml | 3 +- ext/imap/php_imap.c | 5 ++-- ext/imap/tests/imap_fetchstructure_basic.phpt | 10 ++++--- ext/imap/tests/imap_include.inc | 2 +- travis/compile.sh | 7 ++++- travis/ext/imap/dovecot.conf | 22 ++++++++++++++ travis/ext/imap/dovecotpass | 1 + travis/ext/imap/imap.exp | 29 +++++++++++++++++++ travis/ext/imap/setup.sh | 11 +++++++ 9 files changed, 81 insertions(+), 9 deletions(-) create mode 100644 travis/ext/imap/dovecot.conf create mode 100644 travis/ext/imap/dovecotpass create mode 100644 travis/ext/imap/imap.exp create mode 100644 travis/ext/imap/setup.sh diff --git a/.travis.yml b/.travis.yml index 418a4f28b3..8b40464432 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,7 +26,7 @@ env: before_install: - sudo apt-get update -qq - - sudo apt-get install -y libenchant-dev libaspell-dev libpspell-dev librecode-dev + - sudo apt-get install -y libenchant-dev libaspell-dev libpspell-dev librecode-dev libsasl2-dev libxpm-dev libt1-dev libc-client2007e-dev - sudo cp ./travis/de /var/lib/locales/supported.d/de - sudo dpkg-reconfigure locales - ./travis/install.sh @@ -40,6 +40,7 @@ before_script: - . ./travis/ext/pdo_mysql/setup.sh - . ./travis/ext/pgsql/setup.sh - . ./travis/ext/pdo_pgsql/setup.sh + - . ./travis/ext/imap/setup.sh # Run PHPs run-tests.php script: diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index 0e3ec533a6..ceaa53afcf 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -1235,7 +1235,7 @@ static void php_imap_do_open(INTERNAL_FUNCTION_PARAMETERS, int persistent) imap_stream = mail_open(NIL, mailbox->val, flags); if (imap_stream == NIL) { - php_error_docref(NULL, E_WARNING, "Couldn't open stream %s", mailbox); + php_error_docref(NULL, E_WARNING, "Couldn't open stream %s", mailbox->val); efree(IMAPG(imap_user)); IMAPG(imap_user) = 0; efree(IMAPG(imap_password)); IMAPG(imap_password) = 0; RETURN_FALSE; @@ -1340,6 +1340,7 @@ PHP_FUNCTION(imap_append) } } + zend_string_free(regex); ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap); INIT (&st, mail_string, (void *) message->val, message->len); @@ -4045,7 +4046,7 @@ PHP_FUNCTION(imap_search) int argc = ZEND_NUM_ARGS(); SEARCHPGM *pgm = NIL; - if (zend_parse_parameters(argc, "rs|lS", &streamind, &criteria, &flags, &charset) == FAILURE) { + if (zend_parse_parameters(argc, "rS|lS", &streamind, &criteria, &flags, &charset) == FAILURE) { return; } diff --git a/ext/imap/tests/imap_fetchstructure_basic.phpt b/ext/imap/tests/imap_fetchstructure_basic.phpt index 7ad4fc5622..dcf6148a1e 100644 --- a/ext/imap/tests/imap_fetchstructure_basic.phpt +++ b/ext/imap/tests/imap_fetchstructure_basic.phpt @@ -1,5 +1,5 @@ --TEST-- -imap_fetchstructure() function : basic functionality +imap_fetchstructure() function : basic functionality --CREDITS-- Olivier Doucet --SKIPIF-- @@ -34,12 +34,13 @@ var_dump($z->type); var_dump($z->encoding); var_dump($z->bytes); var_dump($z->lines); -var_dump(is_object($z->parameters)); +var_dump($z->ifparameters); +var_dump(is_object($z->parameters[0])); imap_close($stream_id); ?> --CLEAN-- - --EXPECTF-- @@ -67,4 +68,5 @@ int(%d) int(%d) int(%d) int(%d) -bool(true) \ No newline at end of file +int(1) +bool(true) diff --git a/ext/imap/tests/imap_include.inc b/ext/imap/tests/imap_include.inc index b33a10e5e8..110a449cd5 100644 --- a/ext/imap/tests/imap_include.inc +++ b/ext/imap/tests/imap_include.inc @@ -1,6 +1,6 @@