s->len = len;
- if (SvREADONLY(sv)) {
+ if (SvREADONLY(sv) && SvPOK(sv)) {
s->data = p;
+
+ ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
+ "perl sv2str: %08XD \"%V\"", sv->sv_flags, s);
+
return NGX_OK;
}
ngx_memcpy(s->data, p, len);
+ ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
+ "perl sv2str: %08XD \"%V\"", sv->sv_flags, s);
+
return NGX_OK;
}
sv = SvRV(sv);
}
- if (SvREADONLY(sv)) {
+ if (SvREADONLY(sv) && SvPOK(sv)) {
p = (u_char *) SvPV(sv, len);