diff options
Diffstat (limited to 'vendor/packaged/thrift/src/StringFunc')
-rw-r--r-- | vendor/packaged/thrift/src/StringFunc/Core.php | 40 | ||||
-rw-r--r-- | vendor/packaged/thrift/src/StringFunc/Mbstring.php | 46 | ||||
-rw-r--r-- | vendor/packaged/thrift/src/StringFunc/TStringFunc.php | 28 |
3 files changed, 114 insertions, 0 deletions
diff --git a/vendor/packaged/thrift/src/StringFunc/Core.php b/vendor/packaged/thrift/src/StringFunc/Core.php new file mode 100644 index 000000000..39a75b3a2 --- /dev/null +++ b/vendor/packaged/thrift/src/StringFunc/Core.php @@ -0,0 +1,40 @@ +<?php +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +namespace Thrift\StringFunc; + +class Core implements TStringFunc +{ + public function substr($str, $start, $length = null) + { + // specifying a null $length would return an empty string + if ($length === null) { + return substr($str, $start); + } + + return substr($str, $start, $length); + } + + public function strlen($str) + { + return strlen($str); + } +} diff --git a/vendor/packaged/thrift/src/StringFunc/Mbstring.php b/vendor/packaged/thrift/src/StringFunc/Mbstring.php new file mode 100644 index 000000000..968ff18f1 --- /dev/null +++ b/vendor/packaged/thrift/src/StringFunc/Mbstring.php @@ -0,0 +1,46 @@ +<?php +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +namespace Thrift\StringFunc; + +class Mbstring implements TStringFunc +{ + public function substr($str, $start, $length = null) + { + /** + * We need to set the charset parameter, which is the second + * optional parameter and the first optional parameter can't + * be null or false as a "magic" value because that would + * cause an empty string to be returned, so we need to + * actually calculate the proper length value. + */ + if ($length === null) { + $length = $this->strlen($str) - $start; + } + + return mb_substr($str, $start, $length, '8bit'); + } + + public function strlen($str) + { + return mb_strlen($str, '8bit'); + } +} diff --git a/vendor/packaged/thrift/src/StringFunc/TStringFunc.php b/vendor/packaged/thrift/src/StringFunc/TStringFunc.php new file mode 100644 index 000000000..dea497f2e --- /dev/null +++ b/vendor/packaged/thrift/src/StringFunc/TStringFunc.php @@ -0,0 +1,28 @@ +<?php +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +namespace Thrift\StringFunc; + +interface TStringFunc +{ + public function substr($str, $start, $length = null); + public function strlen($str); +} |