I need help, about c++ pointer

From: Quan Zongliang <quanzongliang(at)gmail(dot)com>
To: pgadmin-support(at)postgresql(dot)org
Subject: I need help, about c++ pointer
Date: 2009-07-15 12:04:27
Message-ID: 20090715205540.75FE.4125B4E5@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

Hi, all

I ceate some pointers with:

SQLWCHAR** stmtlabels = m_srcodbc->GetResultColLabels();
m_curstmtlabels = new SQLWCHAR*[m_curstmtcolsnum];
for (colidx=0; colidx<m_curstmtcolsnum; colidx++)
if (stmtlabels[colidx])
{
m_curstmtlabels[colidx] = new SQLWCHAR[wcslen(stmtlabels[colidx])+1];
wcscpy(m_curstmtlabels[colidx], stmtlabels[colidx]);
}
else
m_curstmtlabels[colidx] = NULL;

delete them with:

if (m_curstmtlabels)
{
SQLSMALLINT colidx;
for (colidx=0; colidx<m_curstmtcolsnum; colidx++)
if (m_curstmtlabels[colidx])
delete[] m_curstmtlabels;
}

When delete pointers, the first loop is ok.
But the sencond loop get a crash.
It seems the first loop delete second array too.
How to correct it?

BTW:
wcscpy, wcscmp, wcslen ... functions can be supported by all platforms?

Regards.

-----------------------------------------------
Quan Zongliang
quanzongliang(at)gmail(dot)com

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Guillaume Lelarge 2009-07-15 14:18:41 Re: Ubuntu
Previous Message Robert Shusteric 2009-07-15 08:20:00 forgot my password