Variant HHVM_FUNCTION(preg_match, const String& pattern, const String& subject, VRefParam matches /* = null */, int flags /* = 0 */, int offset /* = 0 */) { return preg_match(pattern, subject, matches.getVariantOrNull(), flags, offset); }
int ZMQPollData::poll(int64_t timeout, VRefParam readable, VRefParam writable) { errors.clear(); auto rVar = readable.getVariantOrNull(); Array rArr; if (rVar && rVar->isArray()) { rArr = rVar->asArrRef(); rArr.clear(); } auto wVar = writable.getVariantOrNull(); Array wArr; if (wVar && wVar->isArray()) { wArr = wVar->asArrRef(); wArr.clear(); } assert(items.size() == php_items.size()); int rc = zmq_poll(items.data(), items.size(), timeout); if (rc == -1) { return -1; } if (rc > 0) { for (size_t i = 0; i < items.size(); i++) { if (rVar && (items[i].revents & ZMQ_POLLIN)) { rArr.append(php_items[i].entry); } if (wVar && (items[i].revents & ZMQ_POLLOUT)) { wArr.append(php_items[i].entry); } if (items[i].revents & ZMQ_POLLERR) { errors.append(php_items[i].key); } } } readable.assignIfRef(rArr); writable.assignIfRef(wArr); return rc; }
Variant HHVM_FUNCTION(preg_replace_callback, const Variant& pattern, const Variant& callback, const Variant& subject, int limit /* = -1 */, VRefParam count /* = null */) { if (!is_callable(callback)) { raise_warning("Not a valid callback function %s", callback.toString().data()); return empty_string_variant(); } return preg_replace_impl(pattern, callback, subject, limit, count.getVariantOrNull(), true, false); }
int64_t HHVM_FUNCTION(xbox_task_result, const Resource& task, int64_t timeout_ms, VRefParam ret) { return XboxServer::TaskResult(task, timeout_ms, ret.getVariantOrNull()); }
Variant HHVM_FUNCTION(preg_filter, const Variant& pattern, const Variant& callback, const Variant& subject, int limit /* = -1 */, VRefParam count /* = null */) { return preg_replace_impl(pattern, callback, subject, limit, count.getVariantOrNull(), false, true); }
Variant HHVM_FUNCTION(preg_replace, const Variant& pattern, const Variant& replacement, const Variant& subject, int limit /* = -1 */, VRefParam count /* = null */) { return preg_replace_impl(pattern, replacement, subject, limit, count.getVariantOrNull(), false, false); }