David Campbell avatar David Campbell committed b6b9b82

array test added

Comments (0)

Files changed (5)

 #include "./test.h"
 
 void stuff(PYTEST2* pyt) {
-	printf("%d", pyt->pytest->i);
+	int i;
+	printf("%d\n", pyt->pytest->i);
+	for (i = 0; i < pyt->pytest->i; i++)
+		printf("%d ", pyt->pytest->ints[i]);
+	printf("\n");
 }
 
 typedef struct pytest1 {
 	int i;
+	int* ints;
 } PYTEST1;
 
 typedef struct PYTEST2 {

Binary file modified.

 from ctypes import *
 
 class PY1(Structure):
-	_fields_ = [("i", c_int)]
-
+	_fields_ = [("i", c_int),
+			    ("arr", POINTER(c_int))]
 
 class PY2(Structure):
-	_fields_ = [("pytest", PY1)]
+	_fields_ = [("pytest", POINTER(PY1))]
 
 if __name__ == "__main__":
 	t = CDLL("./test.so")
+	py1 = PY1()
+	py1.i = 5
+	ints = (c_int * 5)()
+	ints[2] = 99
+	py1.arr = ints
 	py2 = PY2()
-	t.stuff(py2)
+	py2.pytest = pointer(py1)
+	print "hi"
+	t.stuff(pointer(py2))

Binary file modified.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.