Ticket #271: dnspython.diff

File dnspython.diff, 2.0 KB (added by jinmei, 9 years ago)
  • rrttl_python.cc

     
    1414
    1515// $Id$
    1616
     17#include <vector>
     18
    1719#include <dns/rrttl.h>
     20
     21using namespace std;
    1822using namespace isc::dns;
    1923
    2024//
     
    160164            PyErr_Clear();
    161165            self->rrttl = new RRTTL(i);
    162166            return (0);
    163         } else if (PyArg_ParseTuple(args, "O", &bytes) && PySequence_Check(bytes)) {
     167        } else if (PyArg_ParseTuple(args, "O", &bytes) &&
     168                   PySequence_Check(bytes)) {
    164169            Py_ssize_t size = PySequence_Size(bytes);
    165             uint8_t data[size];
    166             int result = readDataFromSequence(data, size, bytes);
     170            vector<uint8_t> data(size);
     171            int result = readDataFromSequence(&data[0], size, bytes);
    167172            if (result != 0) {
    168173                return (result);
    169174            }
    170             InputBuffer ib(data, size);
     175            InputBuffer ib(&data[0], size);
    171176            self->rrttl = new RRTTL(ib);
    172177            PyErr_Clear();
    173178            return (0);
  • rrtype_python.cc

     
    1414
    1515// $Id$
    1616
     17#include <vector>
     18
    1719#include <dns/rrtype.h>
     20
     21using namespace std;
    1822using namespace isc::dns;
    1923
    2024//
     
    203207            return (0);
    204208        } else if (PyArg_ParseTuple(args, "O", &bytes) && PySequence_Check(bytes)) {
    205209            Py_ssize_t size = PySequence_Size(bytes);
    206             uint8_t data[size];
    207             int result = readDataFromSequence(data, size, bytes);
     210            vector<uint8_t> data(size);
     211            int result = readDataFromSequence(&data[0], size, bytes);
    208212            if (result != 0) {
    209213                return (result);
    210214            }
    211             InputBuffer ib(data, size);
     215            InputBuffer ib(&data[0], size);
    212216            self->rrtype = new RRType(ib);
    213217            PyErr_Clear();
    214218            return (0);