Author: turnstep
Date: Tue Sep 15 07:27:49 2009
New Revision: 13341
Modified:
DBD-Pg/trunk/dbdimp.c
Log:
Make newRV into explicit newRVinc calls.
Modified: DBD-Pg/trunk/dbdimp.c
==============================================================================
--- DBD-Pg/trunk/dbdimp.c (original)
+++ DBD-Pg/trunk/dbdimp.c Tue Sep 15 07:27:49 2009
@@ -283,7 +283,7 @@
dTHX;
SV *tmp;
- tmp = sv_2mortal(newRV((SV *)arg));
+ tmp = sv_2mortal(newRV_inc((SV *)arg));
/* This fun little bit is to prevent a core dump when the following occurs:
client_min_messages is set to DEBUG3 or greater, and we exit without a disconnect.
@@ -768,7 +768,7 @@
if (!retsv)
return Nullsv;
- if (retsv == &sv_yes || retsv == &sv_no) {
+ if (retsv == &PL_sv_yes || retsv == &PL_sv_no) {
return retsv; /* no need to mortalize yes or no */
}
return sv_2mortal(retsv);
@@ -1040,7 +1040,7 @@
AV *av = newAV();
char *fieldname;
SV * sv_fieldname;
- retsv = newRV(sv_2mortal((SV*)av));
+ retsv = newRV_inc(sv_2mortal((SV*)av));
while(--fields >= 0) {
TRACE_PQFNAME;
fieldname = PQfname(imp_sth->result, fields);
@@ -1056,7 +1056,7 @@
/* Need to convert the Pg type to ANSI/SQL type. */
sql_type_info_t * type_info;
AV *av = newAV();
- retsv = newRV(sv_2mortal((SV*)av));
+ retsv = newRV_inc(sv_2mortal((SV*)av));
while(--fields >= 0) {
TRACE_PQFTYPE;
type_info = pg_type_data((int)PQftype(imp_sth->result, fields));
@@ -1070,7 +1070,7 @@
if (strEQ("SCALE", key)) {
AV *av = newAV();
Oid o;
- retsv = newRV(sv_2mortal((SV*)av));
+ retsv = newRV_inc(sv_2mortal((SV*)av));
while(--fields >= 0) {
TRACE_PQFTYPE;
o = PQftype(imp_sth->result, fields);
@@ -1090,7 +1090,7 @@
if (strEQ("pg_size", key)) {
AV *av = newAV();
- retsv = newRV(sv_2mortal((SV*)av));
+ retsv = newRV_inc(sv_2mortal((SV*)av));
while(--fields >= 0) {
TRACE_PQFSIZE;
(void)av_store(av, fields, newSViv(PQfsize(imp_sth->result, fields)));
@@ -1099,7 +1099,7 @@
else if (strEQ("pg_type", key)) {
sql_type_info_t * type_info;
AV *av = newAV();
- retsv = newRV(sv_2mortal((SV*)av));
+ retsv = newRV_inc(sv_2mortal((SV*)av));
while(--fields >= 0) {
TRACE_PQFTYPE;
type_info = pg_type_data((int)PQftype(imp_sth->result,fields));
@@ -1119,7 +1119,7 @@
D_imp_dbh_from_sth;
int nullable; /* 0 = not nullable, 1 = nullable 2 = unknown */
int y;
- retsv = newRV(sv_2mortal((SV*)av));
+ retsv = newRV_inc(sv_2mortal((SV*)av));
while(--fields >= 0) {
nullable=2;
@@ -1164,7 +1164,7 @@
AV *av = newAV();
int sz = 0;
Oid o;
- retsv = newRV(sv_2mortal((SV*)av));
+ retsv = newRV_inc(sv_2mortal((SV*)av));
while(--fields >= 0) {
TRACE_PQFTYPE;
o = PQftype(imp_sth->result, fields);
@@ -1360,7 +1360,7 @@
TRACE_PQFREEMEM;
PQfreemem(notify);
- retsv = newRV(sv_2mortal((SV*)ret));
+ retsv = newRV_inc(sv_2mortal((SV*)ret));
if (TEND) TRC(DBILOGFP, "%sEnd pg_db_pg_notifies\n", THEADER);
return sv_2mortal(retsv);
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.