Browse Source

MFH:- Fixed bug #44127 (UNIX abstract namespace socket connect does not work)

PHP-5.2.1RC1
Jani Taskinen 18 years ago
parent
commit
65c908dcfe
  1. 5
      NEWS
  2. 4
      ext/sockets/sockets.c
  3. 2
      ext/sockets/tests/ipv4loop.phpt
  4. 2
      ext/sockets/tests/ipv6loop.phpt
  5. 536
      ext/standard/url_scanner_ex.c
  6. 2
      main/streams/xp_socket.c

5
NEWS

@ -9,7 +9,8 @@ PHP NEWS
- Fixed a crash inside PDO when trying instantiate PDORow manually. (Felipe)
- Fixed build failure of ext/mysqli with libmysql 6.0 - missing rpl
functions. (Andrey)
- Fixed a regression when using strip_tags() and < is within an attribute. (Scott)
- Fixed a regression when using strip_tags() and < is within an attribute.
(Scott)
- Fixed bug #45486 (mb_send_mail(); header 'Content-Type: text/plain; charset='
parsing incorrect). (Felipe)
@ -42,6 +43,8 @@ PHP NEWS
- Fixed bug #44716 (Progress notifications incorrect). (Hannes)
- Fixed bug #44712 (stream_context_set_params segfaults on invalid arguments).
(Hannes)
- Fixed bug #44127 (UNIX abstract namespace socket connect does not work).
(Jani)
- Fixed bug #41348 (OCI8: allow compilation with Oracle 8.1). (Chris Jones)
01 May 2008, PHP 5.2.6

4
ext/sockets/sockets.c

@ -1170,8 +1170,8 @@ PHP_FUNCTION(socket_connect)
memset(&s_un, 0, sizeof(struct sockaddr_un));
s_un.sun_family = AF_UNIX;
snprintf(s_un.sun_path, 108, "%s", addr);
retval = connect(php_sock->bsd_socket, (struct sockaddr *) &s_un, SUN_LEN(&s_un));
memcpy(&s_un.sun_path, addr, addr_len);
retval = connect(php_sock->bsd_socket, (struct sockaddr *) &s_un, (socklen_t) XtOffsetOf(struct sockaddr_un, sun_path) + addr_len);
break;
default:

2
ext/sockets/tests/ipv4loop.phpt

@ -3,7 +3,7 @@ IPv4 Loopback test
--SKIPIF--
<?php
if (!extension_loaded('sockets')) {
die('skip sockets extenion not available.');
die('skip sockets extension not available.');
}
?>
--FILE--

2
ext/sockets/tests/ipv6loop.phpt

@ -3,7 +3,7 @@ IPv6 Loopback test
--SKIPIF--
<?php
if (!extension_loaded('sockets')) {
die('skip sockets extenion not available.');
die('skip sockets extension not available.');
}
if (!defined("AF_INET6")) {
die('skip no IPv6 support');

536
ext/standard/url_scanner_ex.c

@ -1,4 +1,4 @@
/* Generated by re2c 0.12.1 on Wed Oct 10 12:28:46 2007 */
/* Generated by re2c 0.13.5 on Wed Jul 2 12:48:53 2008 */
#line 1 "ext/standard/url_scanner_ex.re"
/*
+----------------------------------------------------------------------+
@ -109,7 +109,10 @@ static inline void append_modified_url(smart_str *url, smart_str *dest, smart_st
q = (p = url->c) + url->len;
scan:
#line 114 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
@ -145,42 +148,37 @@ scan:
128, 128, 128, 128, 128, 128, 128, 128,
};
#line 149 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 128) {
goto yy8;
}
if(yych <= '9') goto yy6;
if(yych >= ';') goto yy4;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy8;
}
if (yych <= '9') goto yy6;
if (yych >= ';') goto yy4;
++YYCURSOR;
#line 116 "ext/standard/url_scanner_ex.re"
{ smart_str_append(dest, url); return; }
#line 163 "ext/standard/url_scanner_ex.c"
{ smart_str_append(dest, url); return; }
#line 162 "ext/standard/url_scanner_ex.c"
yy4:
++YYCURSOR;
++YYCURSOR;
#line 117 "ext/standard/url_scanner_ex.re"
{ sep = separator; goto scan; }
#line 168 "ext/standard/url_scanner_ex.c"
{ sep = separator; goto scan; }
#line 167 "ext/standard/url_scanner_ex.c"
yy6:
++YYCURSOR;
++YYCURSOR;
#line 118 "ext/standard/url_scanner_ex.re"
{ bash = p - 1; goto done; }
#line 173 "ext/standard/url_scanner_ex.c"
{ bash = p - 1; goto done; }
#line 172 "ext/standard/url_scanner_ex.c"
yy8:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 128) {
goto yy8;
}
#line 119 "ext/standard/url_scanner_ex.re"
{ goto scan; }
#line 183 "ext/standard/url_scanner_ex.c"
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy8;
}
#line 119 "ext/standard/url_scanner_ex.re"
{ goto scan; }
#line 182 "ext/standard/url_scanner_ex.c"
}
#line 120 "ext/standard/url_scanner_ex.re"
@ -361,7 +359,10 @@ state_plain_begin:
state_plain:
start = YYCURSOR;
#line 364 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
@ -396,37 +397,35 @@ state_plain:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
#line 401 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 128) {
goto yy15;
}
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy15;
}
++YYCURSOR;
#line 299 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; }
#line 412 "ext/standard/url_scanner_ex.c"
{ passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; }
#line 409 "ext/standard/url_scanner_ex.c"
yy15:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 128) {
goto yy15;
}
#line 300 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); goto state_plain; }
#line 422 "ext/standard/url_scanner_ex.c"
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy15;
}
#line 300 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); goto state_plain; }
#line 419 "ext/standard/url_scanner_ex.c"
}
#line 301 "ext/standard/url_scanner_ex.re"
state_tag:
start = YYCURSOR;
#line 427 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@ -461,42 +460,37 @@ state_tag:
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
#line 466 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '@') {
if(yych != ':') goto yy22;
} else {
if(yych <= 'Z') goto yy20;
if(yych <= '`') goto yy22;
if(yych >= '{') goto yy22;
}
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '@') {
if (yych != ':') goto yy22;
} else {
if (yych <= 'Z') goto yy20;
if (yych <= '`') goto yy22;
if (yych >= '{') goto yy22;
}
yy20:
++YYCURSOR;
yych = *YYCURSOR;
goto yy25;
++YYCURSOR;
yych = *YYCURSOR;
goto yy25;
yy21:
#line 306 "ext/standard/url_scanner_ex.re"
{ handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; }
#line 485 "ext/standard/url_scanner_ex.c"
{ handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; }
#line 480 "ext/standard/url_scanner_ex.c"
yy22:
++YYCURSOR;
++YYCURSOR;
#line 307 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); goto state_plain_begin; }
#line 490 "ext/standard/url_scanner_ex.c"
{ passthru(STD_ARGS); goto state_plain_begin; }
#line 485 "ext/standard/url_scanner_ex.c"
yy24:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy25:
if(yybm[0+yych] & 128) {
goto yy24;
}
goto yy21;
if (yybm[0+yych] & 128) {
goto yy24;
}
goto yy21;
}
#line 308 "ext/standard/url_scanner_ex.re"
@ -506,7 +500,10 @@ state_next_arg_begin:
state_next_arg:
start = YYCURSOR;
#line 505 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 128, 128, 128, 0, 128, 0, 0,
@ -541,71 +538,69 @@ state_next_arg:
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
#line 546 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= ' ') {
if(yych <= 0x0C) {
if(yych <= 0x08) goto yy34;
if(yych <= 0x0B) goto yy30;
goto yy34;
} else {
if(yych <= 0x0D) goto yy30;
if(yych <= 0x1F) goto yy34;
goto yy30;
}
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= ' ') {
if (yych <= '\f') {
if (yych <= 0x08) goto yy34;
if (yych <= '\v') goto yy30;
goto yy34;
} else {
if(yych <= '@') {
if(yych != '>') goto yy34;
} else {
if(yych <= 'Z') goto yy32;
if(yych <= '`') goto yy34;
if(yych <= 'z') goto yy32;
goto yy34;
}
if (yych <= '\r') goto yy30;
if (yych <= 0x1F) goto yy34;
goto yy30;
}
++YYCURSOR;
} else {
if (yych <= '@') {
if (yych != '>') goto yy34;
} else {
if (yych <= 'Z') goto yy32;
if (yych <= '`') goto yy34;
if (yych <= 'z') goto yy32;
goto yy34;
}
}
++YYCURSOR;
#line 316 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; }
#line 574 "ext/standard/url_scanner_ex.c"
{ passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; }
#line 567 "ext/standard/url_scanner_ex.c"
yy30:
++YYCURSOR;
yych = *YYCURSOR;
goto yy37;
++YYCURSOR;
yych = *YYCURSOR;
goto yy37;
yy31:
#line 317 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); goto state_next_arg; }
#line 582 "ext/standard/url_scanner_ex.c"
{ passthru(STD_ARGS); goto state_next_arg; }
#line 575 "ext/standard/url_scanner_ex.c"
yy32:
++YYCURSOR;
++YYCURSOR;
#line 318 "ext/standard/url_scanner_ex.re"
{ --YYCURSOR; STATE = STATE_ARG; goto state_arg; }
#line 587 "ext/standard/url_scanner_ex.c"
{ --YYCURSOR; STATE = STATE_ARG; goto state_arg; }
#line 580 "ext/standard/url_scanner_ex.c"
yy34:
++YYCURSOR;
++YYCURSOR;
#line 319 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); goto state_plain_begin; }
#line 592 "ext/standard/url_scanner_ex.c"
{ passthru(STD_ARGS); goto state_plain_begin; }
#line 585 "ext/standard/url_scanner_ex.c"
yy36:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy37:
if(yybm[0+yych] & 128) {
goto yy36;
}
goto yy31;
if (yybm[0+yych] & 128) {
goto yy36;
}
goto yy31;
}
#line 320 "ext/standard/url_scanner_ex.re"
state_arg:
start = YYCURSOR;
#line 602 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@ -640,46 +635,44 @@ state_arg:
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
#line 645 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '@') goto yy42;
if(yych <= 'Z') goto yy40;
if(yych <= '`') goto yy42;
if(yych >= '{') goto yy42;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '@') goto yy42;
if (yych <= 'Z') goto yy40;
if (yych <= '`') goto yy42;
if (yych >= '{') goto yy42;
yy40:
++YYCURSOR;
yych = *YYCURSOR;
goto yy45;
++YYCURSOR;
yych = *YYCURSOR;
goto yy45;
yy41:
#line 325 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; }
#line 661 "ext/standard/url_scanner_ex.c"
{ passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; }
#line 652 "ext/standard/url_scanner_ex.c"
yy42:
++YYCURSOR;
++YYCURSOR;
#line 326 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; }
#line 666 "ext/standard/url_scanner_ex.c"
{ passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; }
#line 657 "ext/standard/url_scanner_ex.c"
yy44:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy45:
if(yybm[0+yych] & 128) {
goto yy44;
}
goto yy41;
if (yybm[0+yych] & 128) {
goto yy44;
}
goto yy41;
}
#line 327 "ext/standard/url_scanner_ex.re"
state_before_val:
start = YYCURSOR;
#line 674 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@ -714,52 +707,47 @@ state_before_val:
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
#line 719 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych == ' ') goto yy48;
if(yych == '=') goto yy50;
goto yy52;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych == ' ') goto yy48;
if (yych == '=') goto yy50;
goto yy52;
yy48:
yych = *(YYMARKER = ++YYCURSOR);
if(yych == ' ') goto yy55;
if(yych == '=') goto yy53;
yych = *(YYMARKER = ++YYCURSOR);
if (yych == ' ') goto yy55;
if (yych == '=') goto yy53;
yy49:
#line 333 "ext/standard/url_scanner_ex.re"
{ --YYCURSOR; goto state_next_arg_begin; }
#line 734 "ext/standard/url_scanner_ex.c"
{ --YYCURSOR; goto state_next_arg_begin; }
#line 723 "ext/standard/url_scanner_ex.c"
yy50:
++YYCURSOR;
yych = *YYCURSOR;
goto yy54;
++YYCURSOR;
yych = *YYCURSOR;
goto yy54;
yy51:
#line 332 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; }
#line 742 "ext/standard/url_scanner_ex.c"
{ passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; }
#line 731 "ext/standard/url_scanner_ex.c"
yy52:
yych = *++YYCURSOR;
goto yy49;
yych = *++YYCURSOR;
goto yy49;
yy53:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy54:
if(yybm[0+yych] & 128) {
goto yy53;
}
goto yy51;
yy55:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych == ' ') goto yy55;
if(yych == '=') goto yy53;
YYCURSOR = YYMARKER;
goto yy49;
if (yybm[0+yych] & 128) {
goto yy53;
}
goto yy51;
yy55:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych == ' ') goto yy55;
if (yych == '=') goto yy53;
YYCURSOR = YYMARKER;
goto yy49;
}
#line 334 "ext/standard/url_scanner_ex.re"
@ -767,7 +755,10 @@ yy55:
state_val:
start = YYCURSOR;
#line 760 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
248, 248, 248, 248, 248, 248, 248, 248,
248, 160, 160, 248, 248, 160, 248, 248,
@ -802,119 +793,114 @@ state_val:
248, 248, 248, 248, 248, 248, 248, 248,
248, 248, 248, 248, 248, 248, 248, 248,
};
#line 807 "ext/standard/url_scanner_ex.c"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if(yych <= ' ') {
if(yych <= 0x0C) {
if(yych <= 0x08) goto yy63;
if(yych <= 0x0A) goto yy64;
goto yy63;
} else {
if(yych <= 0x0D) goto yy64;
if(yych <= 0x1F) goto yy63;
goto yy64;
}
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yych <= ' ') {
if (yych <= '\f') {
if (yych <= 0x08) goto yy63;
if (yych <= '\n') goto yy64;
goto yy63;
} else {
if (yych <= '\r') goto yy64;
if (yych <= 0x1F) goto yy63;
goto yy64;
}
} else {
if (yych <= '&') {
if (yych != '"') goto yy63;
} else {
if(yych <= '&') {
if(yych != '"') goto yy63;
} else {
if(yych <= '\'') goto yy62;
if(yych == '>') goto yy64;
goto yy63;
}
if (yych <= '\'') goto yy62;
if (yych == '>') goto yy64;
goto yy63;
}
yych = *(YYMARKER = ++YYCURSOR);
goto yy77;
}
yych = *(YYMARKER = ++YYCURSOR);
goto yy77;
yy61:
#line 342 "ext/standard/url_scanner_ex.re"
{ handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; }
#line 836 "ext/standard/url_scanner_ex.c"
{ handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; }
#line 823 "ext/standard/url_scanner_ex.c"
yy62:
yych = *(YYMARKER = ++YYCURSOR);
goto yy69;
yych = *(YYMARKER = ++YYCURSOR);
goto yy69;
yy63:
yych = *++YYCURSOR;
goto yy67;
yych = *++YYCURSOR;
goto yy67;
yy64:
++YYCURSOR;
++YYCURSOR;
#line 343 "ext/standard/url_scanner_ex.re"
{ passthru(STD_ARGS); goto state_next_arg_begin; }
#line 847 "ext/standard/url_scanner_ex.c"
{ passthru(STD_ARGS); goto state_next_arg_begin; }
#line 834 "ext/standard/url_scanner_ex.c"
yy66:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy67:
if(yybm[0+yych] & 8) {
goto yy66;
}
goto yy61;
if (yybm[0+yych] & 8) {
goto yy66;
}
goto yy61;
yy68:
YYMARKER = ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
yy69:
if(yybm[0+yych] & 16) {
goto yy68;
}
if(yych <= '&') goto yy72;
if(yych >= '(') goto yy61;
++YYCURSOR;
if(yybm[0+(yych = *YYCURSOR)] & 8) {
goto yy66;
}
if (yybm[0+yych] & 16) {
goto yy68;
}
if (yych <= '&') goto yy72;
if (yych >= '(') goto yy61;
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 8) {
goto yy66;
}
yy71:
#line 341 "ext/standard/url_scanner_ex.re"
{ handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; }
#line 874 "ext/standard/url_scanner_ex.c"
{ handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; }
#line 861 "ext/standard/url_scanner_ex.c"
yy72:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 32) {
goto yy72;
}
if(yych <= '=') goto yy75;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
goto yy72;
}
if (yych <= '=') goto yy75;
yy74:
YYCURSOR = YYMARKER;
goto yy61;
YYCURSOR = YYMARKER;
goto yy61;
yy75:
yych = *++YYCURSOR;
goto yy71;
yych = *++YYCURSOR;
goto yy71;
yy76:
YYMARKER = ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
yy77:
if(yybm[0+yych] & 64) {
goto yy76;
}
if(yych <= '!') goto yy80;
if(yych >= '#') goto yy61;
++YYCURSOR;
if(yybm[0+(yych = *YYCURSOR)] & 8) {
goto yy66;
}
if (yybm[0+yych] & 64) {
goto yy76;
}
if (yych <= '!') goto yy80;
if (yych >= '#') goto yy61;
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 8) {
goto yy66;
}
yy79:
#line 340 "ext/standard/url_scanner_ex.re"
{ handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; }
#line 906 "ext/standard/url_scanner_ex.c"
{ handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; }
#line 893 "ext/standard/url_scanner_ex.c"
yy80:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 128) {
goto yy80;
}
if(yych >= '>') goto yy74;
++YYCURSOR;
yych = *YYCURSOR;
goto yy79;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy80;
}
if (yych >= '>') goto yy74;
++YYCURSOR;
yych = *YYCURSOR;
goto yy79;
}
#line 344 "ext/standard/url_scanner_ex.re"

2
main/streams/xp_socket.c

@ -621,7 +621,7 @@ static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_
parse_unix_address(xparam, &unix_addr TSRMLS_CC);
ret = php_network_connect_socket(sock->socket,
(const struct sockaddr *)&unix_addr, (socklen_t)sizeof(unix_addr),
(const struct sockaddr *)&unix_addr, (socklen_t) XtOffsetOf(struct sockaddr_un, sun_path) + xparam->inputs.namelen,
xparam->op == STREAM_XPORT_OP_CONNECT_ASYNC, xparam->inputs.timeout,
xparam->want_errortext ? &xparam->outputs.error_text : NULL,
&err);

Loading…
Cancel
Save