Changeset 3660:4a44e5a8f898 in orange


Ignore:
Timestamp:
05/16/07 10:13:53 (7 years ago)
Author:
janezd <janez.demsar@…>
Branch:
default
Convert:
019d0a60eb233d227c7eb2b3b72122503c38d16b
Message:
  • probably fixed memory leaks
File:
1 edited

Legend:

Unmodified
Added
Removed
  • source/orangeom/networkoptimization.cpp

    r3659 r3660  
    4949    free_Links(); 
    5050    free_Carrayptrs(pos); 
     51    Py_DECREF(coors); 
    5152} 
    5253 
     
    445446    CAST_TO(TNetworkOptimization, graph);    
    446447    Py_INCREF(graph->coors); 
    447     return (PyObject *)graph->coors; 
     448    return (PyObject *)graph->coors;   
    448449} 
    449450 
     
    467468{ 
    468469    TGraph *graph; 
     470    PGraph wgraph; 
    469471    TDomain *domain = new TDomain(); 
     472    PDomain wdomain = domain; 
    470473    TExampleTable *table; 
     474    PExampleTable wtable; 
    471475 
    472476    //cout << "readNetwork" << endl; 
    473477    char *fn; 
    474478 
    475     if (!PyArg_ParseTuple(args, "s", &fn)) 
     479    if (!PyArg_ParseTuple(args, "s:orangeom.readNetwork", &fn)) 
    476480        return NULL; 
    477481 
     
    505509                    { 
    506510                        file.close(); 
    507                         return NULL; 
     511            PYERROR(PyExc_SystemError, "invalid file format", NULL); 
    508512                    } 
    509513                } 
     
    518522                        { 
    519523                            file.close(); 
    520                             return NULL; 
     524              PYERROR(PyExc_SystemError, "invalid file format", NULL); 
    521525                        } 
    522526 
     
    526530                    { 
    527531                        file.close(); 
    528                         return NULL; 
     532            PYERROR(PyExc_SystemError, "invalid file format", NULL); 
    529533                    } 
    530534 
     
    534538        } 
    535539        graph = new TGraphAsList(nVertices, 0, false); 
     540        wgraph = graph; 
     541 
    536542        domain->addVariable(new TIntVariable("index")); 
    537543        domain->addVariable(new TStringVariable("label")); 
     
    543549        domain->addVariable(new TStringVariable("bw")); 
    544550        table = new TExampleTable(domain); 
     551    wtable = table; 
    545552 
    546553        // read vertex descriptions 
     
    564571                { 
    565572                    file.close(); 
    566                     return NULL; 
     573          PYERROR(PyExc_SystemError, "invalid file format", NULL); 
    567574                } 
    568575 
     
    602609                            { 
    603610                                file.close(); 
    604                                 return NULL; 
     611                PYERROR(PyExc_SystemError, "invalid file format", NULL); 
    605612                            } 
    606613 
     
    615622                            { 
    616623                                file.close(); 
    617                                 return NULL; 
     624                PYERROR(PyExc_SystemError, "invalid file format", NULL); 
    618625                            } 
    619626 
     
    628635                            { 
    629636                                file.close(); 
    630                                 return NULL; 
     637                PYERROR(PyExc_SystemError, "invalid file format", NULL); 
    631638                            } 
    632639 
     
    671678                            { 
    672679                                file.close(); 
    673                                 return NULL; 
     680                PYERROR(PyExc_SystemError, "invalid file format", NULL); 
    674681                            } 
    675682 
     
    709716                        { 
    710717                            file.close(); 
    711                             return NULL; 
     718              PYERROR(PyExc_SystemError, "invalid file format", NULL); 
    712719                        } 
    713720 
     
    726733    else 
    727734    { 
    728         cout << "Unable to open file " << fn << ".";  
    729         return NULL; 
     735      PyErr_Format(PyExc_SystemError, "unable to open file '%s'", fn); 
     736      return NULL; 
    730737    } 
    731738     
    732     PExampleTable wtable = table; 
    733     PGraph wgraph = graph; 
    734739    //graph->setProperty("items", wtable); 
    735740 
    736     return Py_BuildValue("OO", WrapOrange(wgraph), WrapOrange(wtable)); 
     741    return Py_BuildValue("NN", WrapOrange(wgraph), WrapOrange(wtable)); 
    737742} 
    738743 
Note: See TracChangeset for help on using the changeset viewer.