X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=scripts%2Fgen_curlinfo.php;h=b69c96c5e2a781513fd4073e5aefb5de355ac5e7;hp=129833a2a9fe87c435eabfff2ebe482a19032520;hb=7a5c865f6faf8b1b6c91735e9d3b040449ea74ba;hpb=aebfa7783e7b280bff4975649b20494e5eb932bc diff --git a/scripts/gen_curlinfo.php b/scripts/gen_curlinfo.php index 129833a..b69c96c 100644 --- a/scripts/gen_curlinfo.php +++ b/scripts/gen_curlinfo.php @@ -1,10 +1,13 @@ +#!/usr/bin/env php '7,14,1' + 'COOKIELIST' => 'HTTP_CURL_VERSION(7,14,1)', + 'PRIMARY_IP' => 'HTTP_CURL_VERSION(7,19,0)', + 'APPCONNECT_TIME' => 'HTTP_CURL_VERSION(7,19,0)', + 'REDIRECT_URL' => 'HTTP_CURL_VERSION(7,18,2)', + 'CONDITION_UNMET' => 'HTTP_CURL_VERSION(7,19,4)', + 'PRIMARY_PORT' => 'HTTP_CURL_VERSION(7,21,0)', + 'LOCAL_PORT' => 'HTTP_CURL_VERSION(7,21,0)', + 'LOCAL_IP' => 'HTTP_CURL_VERSION(7,21,0)', ); $exclude = array( - 'PRIVATE', 'LASTSOCKET', 'FTP_ENTRY_PATH' + 'PRIVATE', 'LASTSOCKET', 'FTP_ENTRY_PATH', 'CERTINFO', + 'RTSP_SESSION_ID', 'RTSP_CLIENT_CSEQ', 'RTSP_SERVER_CSEQ', 'RTSP_CSEQ_RECV' ); + $translate = array( - 'HTTP_CONNECTCODE' => "connect_code" + 'HTTP_CONNECTCODE' => "connect_code", + 'COOKIELIST' => 'cookies', ); $templates = array( @@ -62,29 +67,29 @@ $templates = array( add_assoc_long_ex(&array, "%s", sizeof("%2$s"), l); } ', -'SLIST' => +'SLIST' => ' if (CURLE_OK == curl_easy_getinfo(request->ch, %s, &s)) { MAKE_STD_ZVAL(subarray); array_init(subarray); for (p = s; p; p = p->next) { - add_next_index_string(subarray, p->data, 1); + if (p->data) { + add_next_index_string(subarray, p->data, 1); + } } add_assoc_zval_ex(&array, "%s", sizeof("%2$s"), subarray); curl_slist_free_all(s); } -' +', ); -$types = file_re('curl.h', '/^#\s*define\s+CURLINFO_(STRING|LONG|DOUBLE|SLIST|MASK|TYPEMASK)\s+(0x[0-9a-fA-F]+)\s*$/m'); $infos = file_re('curl.h', '/^\s*(CURLINFO_(\w+))\s*=\s*CURLINFO_(STRING|LONG|DOUBLE|SLIST)\s*\+\s*\d+\s*,?\s*$/m'); ob_start(); foreach ($infos as $info) { list(, $full, $short, $type) = $info; if (in_array($short, $exclude)) continue; - if (isset($ifdefs[$short])) printf("#if HTTP_CURL_VERSION(%s)\n", $ifdefs[$short]); - if (isset($translate[$short])) $short = $translate[$short]; - printf($templates[$type], $full, strtolower($short)); + if (isset($ifdefs[$short])) printf("#if %s\n", $ifdefs[$short]); + printf($templates[$type], $full, strtolower((isset($translate[$short])) ? $translate[$short] : $short)); if (isset($ifdefs[$short])) printf("#endif\n"); }