From 758774965d1e0385630fc3a4e3210e7e710a6313 Mon Sep 17 00:00:00 2001 From: George Steel Date: Fri, 5 Apr 2024 12:08:04 +0100 Subject: [PATCH] Update PHP 8.2 Call map delta with refined types for string comparison functions Signed-off-by: George Steel --- dictionaries/CallMap.php | 12 ++++++------ dictionaries/CallMap_82_delta.php | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/dictionaries/CallMap.php b/dictionaries/CallMap.php index 0e5dfbb7429..d0bfe5486cb 100644 --- a/dictionaries/CallMap.php +++ b/dictionaries/CallMap.php @@ -12825,9 +12825,9 @@ 'str_split' => ['list', 'string'=>'string', 'length='=>'positive-int'], 'str_starts_with' => ['bool', 'haystack'=>'string', 'needle'=>'string'], 'str_word_count' => ['array|int', 'string'=>'string', 'format='=>'int', 'characters='=>'?string'], -'strcasecmp' => ['int', 'string1'=>'string', 'string2'=>'string'], +'strcasecmp' => ['int<-1,1>', 'string1'=>'string', 'string2'=>'string'], 'strchr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool'], -'strcmp' => ['int', 'string1'=>'string', 'string2'=>'string'], +'strcmp' => ['int<-1,1>', 'string1'=>'string', 'string2'=>'string'], 'strcoll' => ['int', 'string1'=>'string', 'string2'=>'string'], 'strcspn' => ['int', 'string'=>'string', 'characters'=>'string', 'offset='=>'int', 'length='=>'?int'], 'stream_bucket_append' => ['void', 'brigade'=>'resource', 'bucket'=>'object'], @@ -12910,10 +12910,10 @@ 'stripslashes' => ['string', 'string'=>'string'], 'stristr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool'], 'strlen' => ['0|positive-int', 'string'=>'string'], -'strnatcasecmp' => ['int', 'string1'=>'string', 'string2'=>'string'], -'strnatcmp' => ['int', 'string1'=>'string', 'string2'=>'string'], -'strncasecmp' => ['int', 'string1'=>'string', 'string2'=>'string', 'length'=>'int'], -'strncmp' => ['int', 'string1'=>'string', 'string2'=>'string', 'length'=>'int'], +'strnatcasecmp' => ['int<-1,1>', 'string1'=>'string', 'string2'=>'string'], +'strnatcmp' => ['int<-1,1>', 'string1'=>'string', 'string2'=>'string'], +'strncasecmp' => ['int<-1,1>', 'string1'=>'string', 'string2'=>'string', 'length'=>'positive-int|0'], +'strncmp' => ['int<-1,1>', 'string1'=>'string', 'string2'=>'string', 'length'=>'positive-int|0'], 'strpbrk' => ['string|false', 'string'=>'string', 'characters'=>'string'], 'strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], 'strptime' => ['array|false', 'timestamp'=>'string', 'format'=>'string'], diff --git a/dictionaries/CallMap_82_delta.php b/dictionaries/CallMap_82_delta.php index 3064f54ff52..38dad00278b 100644 --- a/dictionaries/CallMap_82_delta.php +++ b/dictionaries/CallMap_82_delta.php @@ -57,6 +57,30 @@ 'old' => ['array|string|int|false', 'type='=>'string'], 'new' => ['array|string|int|false|null', 'type='=>'string'], ], + 'strcmp' => [ + 'old' => ['int', 'string1' => 'string', 'string2' => 'string'], + 'new' => ['int<-1,1>', 'string1' => 'string', 'string2' => 'string'], + ], + 'strcasecmp' => [ + 'old' => ['int', 'string1' => 'string', 'string2' => 'string'], + 'new' => ['int<-1,1>', 'string1' => 'string', 'string2' => 'string'], + ], + 'strnatcasecmp' => [ + 'old' => ['int', 'string1' => 'string', 'string2' => 'string'], + 'new' => ['int<-1,1>', 'string1' => 'string', 'string2' => 'string'], + ], + 'strnatcmp' => [ + 'old' => ['int', 'string1' => 'string', 'string2' => 'string'], + 'new' => ['int<-1,1>', 'string1' => 'string', 'string2' => 'string'], + ], + 'strncmp' => [ + 'old' => ['int', 'string1'=>'string', 'string2'=>'string', 'length'=>'int'], + 'new' => ['int<-1,1>', 'string1' => 'string', 'string2' => 'string', 'length'=>'positive-int|0'], + ], + 'strncasecmp' => [ + 'old' => ['int', 'string1'=>'string', 'string2'=>'string', 'length'=>'int'], + 'new' => ['int<-1,1>', 'string1' => 'string', 'string2' => 'string', 'length'=>'positive-int|0'], + ], ], 'removed' => [