From 4e011cd50c98b3c3776466059a2cbba1e427e333 Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Thu, 28 May 2026 19:05:45 +0530 Subject: [PATCH 1/4] Add stub.php and generate arginfo headers --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f5e514..30bf233 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ - Reject non-mimepart resources in `mailparse_msg_*` instead of crashing - Fix memory leaks - Fix `MimeMessage::extract_uue()` ignoring index greater than zero +- Add type hinting and return types +- Fix bit-field type warnings by using zend_bool for parser flags # Version 3.2.0 - 2026-04-09 From 97b1434cdbf2c1a0c8fbc55571badc15988d4ad7 Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Fri, 26 Jun 2026 14:38:39 +0530 Subject: [PATCH 2/4] Add stub.php and generate arginfo headers --- mailparse.c | 40 ++-------------------------------------- package.xml | 4 +++- 2 files changed, 5 insertions(+), 39 deletions(-) diff --git a/mailparse.c b/mailparse.c index 055fc6f..38d98d5 100644 --- a/mailparse.c +++ b/mailparse.c @@ -49,48 +49,12 @@ static size_t mailparse_do_uudecode(php_stream *instream, php_stream *outstream) static int le_mime_part; -static zend_function_entry mimemessage_methods[] = { - PHP_ME(mimemessage, __construct, arginfo_mailparse_mimemessage_construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) - PHP_ME(mimemessage, get_child, arginfo_mailparse_mimemessage_get_child, ZEND_ACC_PUBLIC) - PHP_ME(mimemessage, get_child_count, arginfo_mailparse_mimemessage_get_child_count, ZEND_ACC_PUBLIC) - PHP_ME(mimemessage, get_parent, arginfo_mailparse_mimemessage_get_parent, ZEND_ACC_PUBLIC) - PHP_ME(mimemessage, extract_headers, arginfo_mailparse_mimemessage_extract_headers, ZEND_ACC_PUBLIC) - PHP_ME(mimemessage, extract_body, arginfo_mailparse_mimemessage_extract_body, ZEND_ACC_PUBLIC) - PHP_ME(mimemessage, enum_uue, arginfo_mailparse_mimemessage_enum_uue, ZEND_ACC_PUBLIC) - PHP_ME(mimemessage, extract_uue, arginfo_mailparse_mimemessage_extract_uue, ZEND_ACC_PUBLIC) - PHP_ME(mimemessage, remove, arginfo_mailparse_mimemessage_remove, ZEND_ACC_PUBLIC) - PHP_ME(mimemessage, add_child, arginfo_mailparse_mimemessage_add_child, ZEND_ACC_PUBLIC) - {NULL, NULL, NULL} -}; - static zend_class_entry *mimemsg_class_entry; -zend_function_entry mailparse_functions[] = { - PHP_FE(mailparse_msg_parse_file, arginfo_mailparse_msg_parse_file) - PHP_FE(mailparse_msg_get_part, arginfo_mailparse_msg_get_part) - PHP_FE(mailparse_msg_get_structure, arginfo_mailparse_msg_get_structure) - PHP_FE(mailparse_msg_get_part_data, arginfo_mailparse_msg_get_part_data) - PHP_FE(mailparse_msg_extract_part, arginfo_mailparse_msg_extract_part) - PHP_FE(mailparse_msg_extract_part_file, arginfo_mailparse_msg_extract_part_file) - PHP_FE(mailparse_msg_extract_whole_part_file, arginfo_mailparse_msg_extract_whole_part_file) - - PHP_FE(mailparse_msg_create, arginfo_mailparse_msg_create) - PHP_FE(mailparse_msg_free, arginfo_mailparse_msg_free) - PHP_FE(mailparse_msg_parse, arginfo_mailparse_msg_parse) - PHP_FE(mailparse_rfc822_parse_addresses, arginfo_mailparse_rfc822_parse_addresses) - PHP_FE(mailparse_determine_best_xfer_encoding, arginfo_mailparse_determine_best_xfer_encoding) - PHP_FE(mailparse_stream_encode, arginfo_mailparse_stream_encode) - PHP_FE(mailparse_uudecode_all, arginfo_mailparse_uudecode_all) - - PHP_FE(mailparse_test, arginfo_mailparse_test) - - PHP_FE_END -}; - zend_module_entry mailparse_module_entry = { STANDARD_MODULE_HEADER, "mailparse", - mailparse_functions, + ext_functions, PHP_MINIT(mailparse), PHP_MSHUTDOWN(mailparse), PHP_RINIT(mailparse), @@ -146,7 +110,7 @@ PHP_MINIT_FUNCTION(mailparse) mailparse_globals = ts_resource(mailparse_globals_id); #endif - INIT_CLASS_ENTRY(mmce, "mimemessage", mimemessage_methods); + INIT_CLASS_ENTRY(mmce, "mimemessage", class_mimemessage_methods); mimemsg_class_entry = zend_register_internal_class(&mmce); zend_declare_property_null(mimemsg_class_entry, "data", sizeof("data")-1, ZEND_ACC_PUBLIC); diff --git a/package.xml b/package.xml index 6d230c8..e39fe9c 100644 --- a/package.xml +++ b/package.xml @@ -120,8 +120,10 @@ It can deal with rfc822 and rfc2045 (MIME) compliant messages. + + + - From 7d9c20d21e94d75a061d62ac21a2dc9e5ece083d Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Sat, 23 May 2026 21:21:46 +0530 Subject: [PATCH 3/4] Add stub.php and generate arginfo headers Add legacy_arginfo Add legacy_arginfo constants moved to stub file constants moved to stub file --- arginfo.h | 112 ----------------------- mailparse.c | 16 ++-- mailparse.stub.php | 148 ++++++++++++++++++++++++++++++ mailparse_arginfo.h | 181 +++++++++++++++++++++++++++++++++++++ mailparse_legacy_arginfo.h | 168 ++++++++++++++++++++++++++++++++++ 5 files changed, 505 insertions(+), 120 deletions(-) delete mode 100644 arginfo.h create mode 100644 mailparse.stub.php create mode 100644 mailparse_arginfo.h create mode 100644 mailparse_legacy_arginfo.h diff --git a/arginfo.h b/arginfo.h deleted file mode 100644 index fb0d600..0000000 --- a/arginfo.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | Copyright (c) The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available at through the world-wide-web at | - | http://www.php.net/license/3_01.txt. | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Author: Wez Furlong | - | Credit also given to Double Precision Inc. who wrote the code that | - | the support routines for this extension were based upon. | - +----------------------------------------------------------------------+ - */ - -#ifndef PHP_MAILPARSE_ARGINFO_H -#define PHP_MAILPARSE_ARGINFO_H - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_void, 0, 0, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_test, 0, 0, 1) - ZEND_ARG_INFO(0, header) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_mimemessage_construct, 0, 0, 2) - ZEND_ARG_INFO(0, mode) - ZEND_ARG_INFO(0, source) -ZEND_END_ARG_INFO() - -#define arginfo_mailparse_mimemessage_remove arginfo_mailparse_void - -#define arginfo_mailparse_mimemessage_add_child arginfo_mailparse_void - -#define arginfo_mailparse_mimemessage_get_child_count arginfo_mailparse_void - -#define arginfo_mailparse_mimemessage_get_parent arginfo_mailparse_void - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_mimemessage_get_child, 0, 0, 1) - ZEND_ARG_INFO(0, item_to_find) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_mimemessage_extract_headers, 0, 0, 0) - ZEND_ARG_INFO(0, mode) - ZEND_ARG_INFO(0, arg) -ZEND_END_ARG_INFO() - -#define arginfo_mailparse_mimemessage_extract_body arginfo_mailparse_mimemessage_extract_headers - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_mimemessage_extract_uue, 0, 0, 1) - ZEND_ARG_INFO(0, index) - ZEND_ARG_INFO(0, mode) - ZEND_ARG_INFO(0, arg) -ZEND_END_ARG_INFO() - -#define arginfo_mailparse_mimemessage_enum_uue arginfo_mailparse_void - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_fp, 0, 0, 1) - ZEND_ARG_INFO(0, fp) -ZEND_END_ARG_INFO() - -#define arginfo_mailparse_uudecode_all arginfo_mailparse_fp - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_rfc822_parse_addresses, 0, 0, 1) - ZEND_ARG_INFO(0, addresses) -ZEND_END_ARG_INFO() - -#define arginfo_mailparse_determine_best_xfer_encoding arginfo_mailparse_fp - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_stream_encode, 0, 0, 3) - ZEND_ARG_INFO(0, source_fp) - ZEND_ARG_INFO(0, dest_fp) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_msg_parse, 0, 0, 2) - ZEND_ARG_INFO(0, fp) - ZEND_ARG_INFO(0, data) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_msg_parse_file, 0, 0, 1) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -#define arginfo_mailparse_msg_free arginfo_mailparse_fp - -#define arginfo_mailparse_msg_create arginfo_mailparse_void - -#define arginfo_mailparse_msg_get_structure arginfo_mailparse_fp - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_msg_extract_part, 0, 0, 2) - ZEND_ARG_INFO(0, fp) - ZEND_ARG_INFO(0, msgbody) - ZEND_ARG_INFO(0, callback) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_msg_extract_whole_part_file, 0, 0, 2) - ZEND_ARG_INFO(0, fp) - ZEND_ARG_INFO(0, filename) - ZEND_ARG_INFO(0, callback) -ZEND_END_ARG_INFO() - -#define arginfo_mailparse_msg_extract_part_file arginfo_mailparse_msg_extract_whole_part_file - -#define arginfo_mailparse_msg_get_part_data arginfo_mailparse_fp - -#define arginfo_mailparse_msg_get_part arginfo_mailparse_msg_parse - -#endif diff --git a/mailparse.c b/mailparse.c index 38d98d5..28251ea 100644 --- a/mailparse.c +++ b/mailparse.c @@ -26,8 +26,6 @@ #include "main/php_output.h" #include "php_open_temporary_file.h" -#include "arginfo.h" - #define MAILPARSE_DECODE_NONE 0 /* include headers and leave section untouched */ #define MAILPARSE_DECODE_8BIT 1 /* decode body into 8-bit */ #define MAILPARSE_DECODE_NOHEADERS 2 /* don't include the headers */ @@ -37,6 +35,12 @@ #define MAILPARSE_EXTRACT_STREAM 1 /* extract to a stream (caller supplies) */ #define MAILPARSE_EXTRACT_RETURN 2 /* return extracted data as a string */ +#if PHP_VERSION_ID >= 80000 +# include "mailparse_arginfo.h" +#else +# include "mailparse_legacy_arginfo.h" +#endif + static int extract_part(php_mimepart *part, int decode, php_stream *src, void *callbackdata, php_mimepart_extract_func_t callback); static int extract_callback_stream(php_mimepart *part, void *ptr, const char *p, size_t n); @@ -110,16 +114,12 @@ PHP_MINIT_FUNCTION(mailparse) mailparse_globals = ts_resource(mailparse_globals_id); #endif - INIT_CLASS_ENTRY(mmce, "mimemessage", class_mimemessage_methods); - mimemsg_class_entry = zend_register_internal_class(&mmce); + mimemsg_class_entry = register_class_mimemessage(); zend_declare_property_null(mimemsg_class_entry, "data", sizeof("data")-1, ZEND_ACC_PUBLIC); le_mime_part = zend_register_list_destructors_ex(mimepart_dtor, NULL, mailparse_msg_name, module_number); - - REGISTER_LONG_CONSTANT("MAILPARSE_EXTRACT_OUTPUT", MAILPARSE_EXTRACT_OUTPUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MAILPARSE_EXTRACT_STREAM", MAILPARSE_EXTRACT_STREAM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MAILPARSE_EXTRACT_RETURN", MAILPARSE_EXTRACT_RETURN, CONST_CS | CONST_PERSISTENT); + register_mailparse_symbols(module_number); REGISTER_INI_ENTRIES(); diff --git a/mailparse.stub.php b/mailparse.stub.php new file mode 100644 index 0000000..949ac8b --- /dev/null +++ b/mailparse.stub.php @@ -0,0 +1,148 @@ += 80400) + class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0); +#else + class_entry = zend_register_internal_class_ex(&ce, NULL); +#endif + + return class_entry; +} diff --git a/mailparse_legacy_arginfo.h b/mailparse_legacy_arginfo.h new file mode 100644 index 0000000..d277351 --- /dev/null +++ b/mailparse_legacy_arginfo.h @@ -0,0 +1,168 @@ +/* This is a generated file, edit the .stub.php file instead. + * Stub hash: cbf00f7423b1b7cd1f2625bda1b4fd6851ac7e13 */ + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_test, 0, 0, 1) + ZEND_ARG_INFO(0, header) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_uudecode_all, 0, 0, 1) + ZEND_ARG_INFO(0, fp) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_rfc822_parse_addresses, 0, 0, 1) + ZEND_ARG_INFO(0, addresses) +ZEND_END_ARG_INFO() + +#define arginfo_mailparse_determine_best_xfer_encoding arginfo_mailparse_uudecode_all + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_stream_encode, 0, 0, 3) + ZEND_ARG_INFO(0, source_fp) + ZEND_ARG_INFO(0, dest_fp) + ZEND_ARG_INFO(0, encoding) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_msg_parse, 0, 0, 2) + ZEND_ARG_INFO(0, fp) + ZEND_ARG_INFO(0, data) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_msg_parse_file, 0, 0, 1) + ZEND_ARG_INFO(0, filename) +ZEND_END_ARG_INFO() + +#define arginfo_mailparse_msg_free arginfo_mailparse_uudecode_all + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_msg_create, 0, 0, 0) +ZEND_END_ARG_INFO() + +#define arginfo_mailparse_msg_get_structure arginfo_mailparse_uudecode_all + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_msg_extract_part, 0, 0, 2) + ZEND_ARG_INFO(0, fp) + ZEND_ARG_INFO(0, msgbody) + ZEND_ARG_INFO(0, callback) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mailparse_msg_extract_whole_part_file, 0, 0, 2) + ZEND_ARG_INFO(0, fp) + ZEND_ARG_INFO(0, filename) + ZEND_ARG_INFO(0, callback) +ZEND_END_ARG_INFO() + +#define arginfo_mailparse_msg_extract_part_file arginfo_mailparse_msg_extract_whole_part_file + +#define arginfo_mailparse_msg_get_part_data arginfo_mailparse_uudecode_all + +#define arginfo_mailparse_msg_get_part arginfo_mailparse_msg_parse + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mimemessage___construct, 0, 0, 2) + ZEND_ARG_INFO(0, mode) + ZEND_ARG_INFO(0, source) +ZEND_END_ARG_INFO() + +#define arginfo_class_mimemessage_remove arginfo_mailparse_msg_create + +#define arginfo_class_mimemessage_add_child arginfo_mailparse_msg_create + +#define arginfo_class_mimemessage_get_child_count arginfo_mailparse_msg_create + +#define arginfo_class_mimemessage_get_parent arginfo_mailparse_msg_create + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mimemessage_get_child, 0, 0, 1) + ZEND_ARG_INFO(0, item_to_find) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mimemessage_extract_headers, 0, 0, 0) + ZEND_ARG_INFO(0, mode) + ZEND_ARG_INFO(0, arg) +ZEND_END_ARG_INFO() + +#define arginfo_class_mimemessage_extract_body arginfo_class_mimemessage_extract_headers + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mimemessage_extract_uue, 0, 0, 1) + ZEND_ARG_INFO(0, index) + ZEND_ARG_INFO(0, mode) + ZEND_ARG_INFO(0, arg) +ZEND_END_ARG_INFO() + +#define arginfo_class_mimemessage_enum_uue arginfo_mailparse_msg_create + +ZEND_FUNCTION(mailparse_test); +ZEND_FUNCTION(mailparse_uudecode_all); +ZEND_FUNCTION(mailparse_rfc822_parse_addresses); +ZEND_FUNCTION(mailparse_determine_best_xfer_encoding); +ZEND_FUNCTION(mailparse_stream_encode); +ZEND_FUNCTION(mailparse_msg_parse); +ZEND_FUNCTION(mailparse_msg_parse_file); +ZEND_FUNCTION(mailparse_msg_free); +ZEND_FUNCTION(mailparse_msg_create); +ZEND_FUNCTION(mailparse_msg_get_structure); +ZEND_FUNCTION(mailparse_msg_extract_part); +ZEND_FUNCTION(mailparse_msg_extract_whole_part_file); +ZEND_FUNCTION(mailparse_msg_extract_part_file); +ZEND_FUNCTION(mailparse_msg_get_part_data); +ZEND_FUNCTION(mailparse_msg_get_part); +ZEND_METHOD(mimemessage, __construct); +ZEND_METHOD(mimemessage, remove); +ZEND_METHOD(mimemessage, add_child); +ZEND_METHOD(mimemessage, get_child_count); +ZEND_METHOD(mimemessage, get_parent); +ZEND_METHOD(mimemessage, get_child); +ZEND_METHOD(mimemessage, extract_headers); +ZEND_METHOD(mimemessage, extract_body); +ZEND_METHOD(mimemessage, extract_uue); +ZEND_METHOD(mimemessage, enum_uue); + +static const zend_function_entry ext_functions[] = { + ZEND_FE(mailparse_test, arginfo_mailparse_test) + ZEND_FE(mailparse_uudecode_all, arginfo_mailparse_uudecode_all) + ZEND_FE(mailparse_rfc822_parse_addresses, arginfo_mailparse_rfc822_parse_addresses) + ZEND_FE(mailparse_determine_best_xfer_encoding, arginfo_mailparse_determine_best_xfer_encoding) + ZEND_FE(mailparse_stream_encode, arginfo_mailparse_stream_encode) + ZEND_FE(mailparse_msg_parse, arginfo_mailparse_msg_parse) + ZEND_FE(mailparse_msg_parse_file, arginfo_mailparse_msg_parse_file) + ZEND_FE(mailparse_msg_free, arginfo_mailparse_msg_free) + ZEND_FE(mailparse_msg_create, arginfo_mailparse_msg_create) + ZEND_FE(mailparse_msg_get_structure, arginfo_mailparse_msg_get_structure) + ZEND_FE(mailparse_msg_extract_part, arginfo_mailparse_msg_extract_part) + ZEND_FE(mailparse_msg_extract_whole_part_file, arginfo_mailparse_msg_extract_whole_part_file) + ZEND_FE(mailparse_msg_extract_part_file, arginfo_mailparse_msg_extract_part_file) + ZEND_FE(mailparse_msg_get_part_data, arginfo_mailparse_msg_get_part_data) + ZEND_FE(mailparse_msg_get_part, arginfo_mailparse_msg_get_part) + ZEND_FE_END +}; + +static const zend_function_entry class_mimemessage_methods[] = { + ZEND_ME(mimemessage, __construct, arginfo_class_mimemessage___construct, ZEND_ACC_PUBLIC) + ZEND_ME(mimemessage, remove, arginfo_class_mimemessage_remove, ZEND_ACC_PUBLIC) + ZEND_ME(mimemessage, add_child, arginfo_class_mimemessage_add_child, ZEND_ACC_PUBLIC) + ZEND_ME(mimemessage, get_child_count, arginfo_class_mimemessage_get_child_count, ZEND_ACC_PUBLIC) + ZEND_ME(mimemessage, get_parent, arginfo_class_mimemessage_get_parent, ZEND_ACC_PUBLIC) + ZEND_ME(mimemessage, get_child, arginfo_class_mimemessage_get_child, ZEND_ACC_PUBLIC) + ZEND_ME(mimemessage, extract_headers, arginfo_class_mimemessage_extract_headers, ZEND_ACC_PUBLIC) + ZEND_ME(mimemessage, extract_body, arginfo_class_mimemessage_extract_body, ZEND_ACC_PUBLIC) + ZEND_ME(mimemessage, extract_uue, arginfo_class_mimemessage_extract_uue, ZEND_ACC_PUBLIC) + ZEND_ME(mimemessage, enum_uue, arginfo_class_mimemessage_enum_uue, ZEND_ACC_PUBLIC) + ZEND_FE_END +}; + +static void register_mailparse_symbols(int module_number) +{ + REGISTER_LONG_CONSTANT("MAILPARSE_EXTRACT_OUTPUT", MAILPARSE_EXTRACT_OUTPUT, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("MAILPARSE_EXTRACT_STREAM", MAILPARSE_EXTRACT_STREAM, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("MAILPARSE_EXTRACT_RETURN", MAILPARSE_EXTRACT_RETURN, CONST_PERSISTENT | CONST_CS); +} + +static zend_class_entry *register_class_mimemessage(void) +{ + zend_class_entry ce, *class_entry; + + INIT_CLASS_ENTRY(ce, "mimemessage", class_mimemessage_methods); +#if (PHP_VERSION_ID >= 80400) + class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0); +#else + class_entry = zend_register_internal_class_ex(&ce, NULL); +#endif + + return class_entry; +} From 879a2e0bf6aa32c5964bd9b11c6c43aea7aa250a Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Fri, 26 Jun 2026 16:58:07 +0530 Subject: [PATCH 4/4] constants moved to stub file --- mailparse.stub.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mailparse.stub.php b/mailparse.stub.php index 949ac8b..2e9dc4c 100644 --- a/mailparse.stub.php +++ b/mailparse.stub.php @@ -145,4 +145,4 @@ public function extract_uue( ): mixed {} public function enum_uue(): array {} -} \ No newline at end of file +}