Mercurial > hg > nginx-quic
comparison src/http/modules/perl/nginx.xs @ 1703:43747661804d
*) copy regex captures $1, $2, etc.
*) SV flags debug logging
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 09 Dec 2007 20:52:14 +0000 |
parents | 4c43e25d11ea |
children | 5b7baef2e11e |
comparison
equal
deleted
inserted
replaced
1702:86bb52e28ce0 | 1703:43747661804d |
---|---|
40 | 40 |
41 p = (u_char *) SvPV(sv, len); | 41 p = (u_char *) SvPV(sv, len); |
42 | 42 |
43 s->len = len; | 43 s->len = len; |
44 | 44 |
45 if (SvREADONLY(sv)) { | 45 if (SvREADONLY(sv) && SvPOK(sv)) { |
46 s->data = p; | 46 s->data = p; |
47 | |
48 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, | |
49 "perl sv2str: %08XD \"%V\"", sv->sv_flags, s); | |
50 | |
47 return NGX_OK; | 51 return NGX_OK; |
48 } | 52 } |
49 | 53 |
50 s->data = ngx_palloc(r->pool, len); | 54 s->data = ngx_palloc(r->pool, len); |
51 if (s->data == NULL) { | 55 if (s->data == NULL) { |
52 return NGX_ERROR; | 56 return NGX_ERROR; |
53 } | 57 } |
54 | 58 |
55 ngx_memcpy(s->data, p, len); | 59 ngx_memcpy(s->data, p, len); |
60 | |
61 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, | |
62 "perl sv2str: %08XD \"%V\"", sv->sv_flags, s); | |
56 | 63 |
57 return NGX_OK; | 64 return NGX_OK; |
58 } | 65 } |
59 | 66 |
60 | 67 |
530 | 537 |
531 if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PV) { | 538 if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PV) { |
532 sv = SvRV(sv); | 539 sv = SvRV(sv); |
533 } | 540 } |
534 | 541 |
535 if (SvREADONLY(sv)) { | 542 if (SvREADONLY(sv) && SvPOK(sv)) { |
536 | 543 |
537 p = (u_char *) SvPV(sv, len); | 544 p = (u_char *) SvPV(sv, len); |
538 | 545 |
539 if (len == 0) { | 546 if (len == 0) { |
540 XSRETURN_EMPTY; | 547 XSRETURN_EMPTY; |