minor build errors

This commit is contained in:
David Rose 2009-07-03 22:13:32 +00:00
parent 6f2591c642
commit 4edcad8821
2 changed files with 24 additions and 22 deletions

View File

@ -324,7 +324,7 @@ handle_pyobj_command(TiXmlElement *xcommand, int want_response_id) {
result = PyObject_Str(obj); result = PyObject_Str(obj);
} else if (strcmp(method_name, "__setattr__") == 0) { } else if (strcmp(method_name, "__setattr__") == 0) {
const char *property_name; char *property_name;
PyObject *value; PyObject *value;
if (PyArg_ParseTuple(params, "sO", &property_name, &value)) { if (PyArg_ParseTuple(params, "sO", &property_name, &value)) {
PyObject_SetAttrString(obj, property_name, value); PyObject_SetAttrString(obj, property_name, value);
@ -333,7 +333,7 @@ handle_pyobj_command(TiXmlElement *xcommand, int want_response_id) {
} }
} else if (strcmp(method_name, "__delattr__") == 0) { } else if (strcmp(method_name, "__delattr__") == 0) {
const char *property_name; char *property_name;
if (PyArg_ParseTuple(params, "s", &property_name)) { if (PyArg_ParseTuple(params, "s", &property_name)) {
if (PyObject_HasAttrString(obj, property_name)) { if (PyObject_HasAttrString(obj, property_name)) {
PyObject_DelAttrString(obj, property_name); PyObject_DelAttrString(obj, property_name);
@ -345,7 +345,7 @@ handle_pyobj_command(TiXmlElement *xcommand, int want_response_id) {
} }
} else if (strcmp(method_name, "__getattr__") == 0) { } else if (strcmp(method_name, "__getattr__") == 0) {
const char *property_name; char *property_name;
if (PyArg_ParseTuple(params, "s", &property_name)) { if (PyArg_ParseTuple(params, "s", &property_name)) {
if (PyObject_HasAttrString(obj, property_name)) { if (PyObject_HasAttrString(obj, property_name)) {
result = PyObject_GetAttrString(obj, property_name); result = PyObject_GetAttrString(obj, property_name);
@ -356,7 +356,7 @@ handle_pyobj_command(TiXmlElement *xcommand, int want_response_id) {
} else { } else {
// Not a special-case name. Call the named method. // Not a special-case name. Call the named method.
PyObject *method = PyObject_GetAttrString(obj, method_name); PyObject *method = PyObject_GetAttrString(obj, (char *)method_name);
if (method != NULL) { if (method != NULL) {
result = PyObject_CallObject(method, params); result = PyObject_CallObject(method, params);
Py_DECREF(method); Py_DECREF(method);

View File

@ -405,26 +405,28 @@ handle_request(P3D_request *request) {
<< "\n"; << "\n";
// Ignore notifications. // Ignore notifications.
// Temporary. {
P3D_object *obj = P3D_instance_get_script_object(request->_instance); // Temporary.
cerr << "script_object is " << obj << "\n"; P3D_object *obj = P3D_instance_get_script_object(request->_instance);
if (obj != NULL) { cerr << "script_object is " << obj << "\n";
if (P3D_OBJECT_SET_PROPERTY(obj, "foo", P3D_new_int_object(1))) { if (obj != NULL) {
cerr << "set_property succeeded\n"; if (P3D_OBJECT_SET_PROPERTY(obj, "foo", P3D_new_int_object(1))) {
P3D_object *prop = P3D_OBJECT_GET_PROPERTY(obj, "foo"); cerr << "set_property succeeded\n";
cerr << "get_property returned " << prop << "\n"; P3D_object *prop = P3D_OBJECT_GET_PROPERTY(obj, "foo");
if (prop != NULL) { cerr << "get_property returned " << prop << "\n";
int size = P3D_OBJECT_GET_STRING(prop, NULL, 0); if (prop != NULL) {
char *buffer = new char[size]; int size = P3D_OBJECT_GET_STRING(prop, NULL, 0) + 1;
P3D_OBJECT_GET_STRING(prop, buffer, size); char *buffer = new char[size];
cerr << " property is " << buffer << "\n"; P3D_OBJECT_GET_STRING(prop, buffer, size);
delete buffer; cerr << " property is " << buffer << "\n";
P3D_OBJECT_FINISH(prop); delete buffer;
P3D_OBJECT_FINISH(prop);
}
} else {
cerr << "set_property failed\n";
} }
} else { P3D_OBJECT_FINISH(obj);
cerr << "set_property failed\n";
} }
P3D_OBJECT_FINISH(obj);
} }
break; break;