drupflare/worker - v1.0.4
    Preparing search index...

    Variable ICONV_STRRPOSConst

    ICONV_STRRPOS: "\nuse Symfony\\Polyfill\\Iconv\\Iconv;\n\nif (!function_exists('cfw_iconv_strrpos')) {\n\t/**\n\t * @param string $haystack\n\t * The text to search.\n\t * @param string $needle\n\t * What to look for.\n\t * @param string|null $encoding\n\t * The charset of both, or NULL for the polyfill's internal one.\n\t *\n\t * @return int|false\n\t * The character offset of the last match.\n\t */\n\tfunction cfw_iconv_strrpos($haystack, $needle, $encoding = null)\n\t{\n\t\tif ($encoding === null) {\n\t\t\t$encoding = Iconv::$internalEncoding;\n\t\t}\n\t\tif (stripos($encoding, 'utf-8') !== 0) {\n\t\t\t$haystack = Iconv::iconv($encoding, 'utf-8', $haystack);\n\t\t\tif ($haystack === false) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t$needle = Iconv::iconv($encoding, 'utf-8', $needle);\n\t\t\tif ($needle === false) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t$pos = isset($needle[0]) ? strrpos($haystack, $needle) : false;\n\t\tif ($pos === false) {\n\t\t\treturn false;\n\t\t}\n\t\t// upstream writes the ternary the other way round, which measures the whole\n\t\t// string when the match is at 0\n\t\treturn $pos === 0 ? 0 : Iconv::iconv_strlen(substr($haystack, 0, $pos), 'utf-8');\n\t}\n}\n" = ICONV_STRRPOS_PHP

    Corrects iconv_strrpos() in symfony/polyfill-iconv, which returns strlen() instead of 0 when the last match is at index 0 ($pos ? substr(...) : $haystack treats offset 0 as falsy; iconv_strrpos('a', 'a') is 1, native 0). It reaches this build because it has neither extension and polyfill-mbstring's mb_strrpos() family wraps it.

    Kept outside the extension guard so a gate test and scripts/measure/mb-parity.ts can drive it on a build that has iconv. Injected before composer's autoloader exists; the use alias resolves at compile time and the class at call time, so nothing loads until a caller runs it.