php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #76999 mb-regex-set-options return current options
Submitted: 2018-10-11 13:17 UTC Modified: 2018-10-11 13:52 UTC
Votes:1
Avg. Score:4.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: kay dot lukas at gmail dot com Assigned:
Status: Verified Package: mbstring related
PHP Version: 7.1.22 OS: Mac OSX
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2018-10-11 13:17 UTC] kay dot lukas at gmail dot com
Description:
------------
---
From manual page: http://www.php.net/function.mb-regex-set-options
---

The documentation says that mb_regex_set_options should return the previous results, 

> The previous options. If options is omitted, it returns the string that describes the current options.


This is quite useful so you can change the options and easily set it back to the defaults after you are done with mb_regex. However, it seems to do something totally different, returning the current options instead.

It seems like the internal function is designed for it:

https://github.com/php/php-src/blob/a5e80b22e11c2db7fd5ff07b5b7a28f80745e89b/ext/mbstring/php_mbregex.c#L1624

however this functionality is not used in the wrapping function:

https://github.com/php/php-src/blob/a5e80b22e11c2db7fd5ff07b5b7a28f80745e89b/ext/mbstring/php_mbregex.c#L1660

null is passed in.

Test script:
---------------
```
php > var_dump(mb_regex_set_options("m"));
string(2) "mr"
php > var_dump(mb_regex_set_options("mdi"));
string(3) "imd"
php > var_dump(mb_regex_set_options("m"));
string(2) "mr"
php > var_dump(mb_regex_set_options("a"));
string(1) "r"
```


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2018-10-11 13:52 UTC] cmb@php.net
-Status: Open +Status: Verified -Package: *Regular Expressions +Package: mbstring related
 [2018-10-11 13:52 UTC] cmb@php.net
Confirmed: <https://3v4l.org/5fiCT>.
 
PHP Copyright © 2001-2018 The PHP Group
All rights reserved.
Last updated: Tue Dec 11 22:01:26 2018 UTC