Hello!
I've found a bug in Satellite (CORBA access module for PHP) which prevent from
passing sequences of structures from CORBA servant objects to PHP. I made a
patch for satellite and it seems to be Ok now. (The patch is in the attached
file) I'd appreciate someone reviewing my patch and including it onto PHP
source tree.
--
Oleg Sharoiko.
Software and Network Engineer
Computer Center of Rostov State University.
--- php4/ext/satellite/namedvalue_to_zval.c Sat Sep 2 02:29:00 2000
+++ php-4.0.4pl1/ext/satellite/namedvalue_to_zval.c Fri Jan 26 11:00:30 2001
@@ -83,7 +83,7 @@
const CORBA_any * pSource, zval * pDestination)
{
int i;
- int length = 0;
+ int length = 0, step;
void ** pp_members = NULL;
zend_bool success = FALSE;
CORBA_NamedValue source_item;
@@ -121,13 +122,17 @@
array_init(pDestination);
#endif
+ step = content_type->length ? content_type->length : 1;
+
for (i = 0; i < length; i++)
{
p_destination_item = NULL;
memset(&source_item, 0, sizeof(CORBA_NamedValue));
source_item.argument._type = content_type;
- source_item.argument._value = &pp_members[i];
+ source_item.argument._value = pp_members;
+
+ pp_members += step;
ALLOC_ZVAL(p_destination_item);
@@ -236,6 +241,7 @@
}
}
+ return TRUE;
error:
return FALSE;
@@ -292,7 +298,7 @@
default:
/* printf("unsupported corba TCKind %i\n", kind);*/
-/* php_error(E_WARNING, "unsupported corba TCKind %i", kind);*/
+ zend_error(E_WARNING, "(satellite) unsupported corba TCKind
+%i", kind);
}
return success;
--- php4/ext/satellite/typecode.c Sat Sep 2 02:29:00 2000
+++ php-4.0.4pl1/ext/satellite/typecode.c Wed Jan 24 15:28:41 2001
@@ -132,8 +133,7 @@
if (type_code == NULL)
{
-/* printf("unknown type for member %s\n",
- IDL_IDENT(IDL_LIST(declaration).data).str);*/
+ zend_error(E_WARNING, "(Satellite) unknown type for member
+%s", IDL_IDENT(IDL_LIST(declaration).data).str);
goto error;
}
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]