[svn] commit: r2409 - in /trunk/src/lib/dns/python: rrttl_python.cc rrtype_python.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Jul 2 13:00:56 UTC 2010


Author: jelte
Date: Fri Jul  2 13:00:56 2010
New Revision: 2409

Log:
applied patch for sunstudio problem as described in ticket #271

Modified:
    trunk/src/lib/dns/python/rrttl_python.cc
    trunk/src/lib/dns/python/rrtype_python.cc

Modified: trunk/src/lib/dns/python/rrttl_python.cc
==============================================================================
--- trunk/src/lib/dns/python/rrttl_python.cc (original)
+++ trunk/src/lib/dns/python/rrttl_python.cc Fri Jul  2 13:00:56 2010
@@ -14,7 +14,11 @@
 
 // $Id$
 
+#include <vector>
+
 #include <dns/rrttl.h>
+
+using namespace std;
 using namespace isc::dns;
 
 //
@@ -160,14 +164,15 @@
             PyErr_Clear();
             self->rrttl = new RRTTL(i);
             return (0);
-        } else if (PyArg_ParseTuple(args, "O", &bytes) && PySequence_Check(bytes)) {
+        } else if (PyArg_ParseTuple(args, "O", &bytes) &&
+                   PySequence_Check(bytes)) {
             Py_ssize_t size = PySequence_Size(bytes);
-            uint8_t data[size];
-            int result = readDataFromSequence(data, size, bytes);
+            vector<uint8_t> data(size);
+            int result = readDataFromSequence(&data[0], size, bytes);
             if (result != 0) {
                 return (result);
             }
-            InputBuffer ib(data, size);
+            InputBuffer ib(&data[0], size);
             self->rrttl = new RRTTL(ib);
             PyErr_Clear();
             return (0);

Modified: trunk/src/lib/dns/python/rrtype_python.cc
==============================================================================
--- trunk/src/lib/dns/python/rrtype_python.cc (original)
+++ trunk/src/lib/dns/python/rrtype_python.cc Fri Jul  2 13:00:56 2010
@@ -14,7 +14,11 @@
 
 // $Id$
 
+#include <vector>
+
 #include <dns/rrtype.h>
+
+using namespace std;
 using namespace isc::dns;
 
 //
@@ -203,12 +207,12 @@
             return (0);
         } else if (PyArg_ParseTuple(args, "O", &bytes) && PySequence_Check(bytes)) {
             Py_ssize_t size = PySequence_Size(bytes);
-            uint8_t data[size];
-            int result = readDataFromSequence(data, size, bytes);
+            vector<uint8_t> data(size);
+            int result = readDataFromSequence(&data[0], size, bytes);
             if (result != 0) {
                 return (result);
             }
-            InputBuffer ib(data, size);
+            InputBuffer ib(&data[0], size);
             self->rrtype = new RRType(ib);
             PyErr_Clear();
             return (0);




More information about the bind10-changes mailing list