Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

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: Wed, 15 Jul 2009 21:04:27 +0900
  • Message-id: <20090715205540.75FE.4125B4E5@gmail.com> <text/plain>

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




Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group