[omniORB] Re: Language incompatibilities ?
Sai-Lai Lo
S.Lo@orl.co.uk
31 Jul 1998 13:57:55 +0100
--Multipart_Fri_Jul_31_13:57:55_1998-1
Content-Type: text/plain; charset=US-ASCII
Hi! Orbix is known not to accept TypeCode containing TCKind == tk_alias.
Until they have fixed this, it is best to tell omniORB2 to remove
all tk_alias from typecodes stored in Anys. You can do this by specifying
the -ORBtcAliasExpand 1 on the command line. I'm not sure this applies to
OrbixWeb but I suspect it has the same behaviour.
Now in your idl, there is only one instance (<<<<<<<) in which tk_alias
is used:
module Dict
{
enum DictionaryElementType { isBoolean, isInteger, isFloat, isString,
isDictionary };
union DictionaryValue switch(DictionaryElementType)
{
case isBoolean:
boolean boolVal;
case isInteger:
long i32Val;
case isFloat:
float floatVal;
case isString:
string strVal;
case isDictionary:
any dictVal;
};
struct DictionaryElement
{
string Key;
DictionaryValue Value;
};
typedef sequence<DictionaryElement> Dictionary; <<<<<<< tk_alias used here
};
It is worth checking if -ORBtcAliasExpand 1 solve the problem.
If not, then you have to look at what is different in the typecode.
Attached is a piece of code to dump the content of a typecode.
Calling the code with:
typecodeParse::parseCode(Dict::_tc_Dictionary);
gives the following output. You can use the same code to dump what is in
the any value received from OrbixWeb.
Please report your findings to omniorb-list.
Sai-Lai
###############Dict::Dictionary#################
tk_alias
Repository Id: IDL:Dict/Dictionary:1.0
Alias Name: Dictionary
Content Type (alias to):
tk_sequence
Maximum length: 0
Unbounded Sequence.
Content Type:
tk_struct
Repository Id: IDL:Dict/DictionaryElement:1.0
Struct Name: DictionaryElement
Number of members: 2
Member index: 0.
Member name: Key
Member typecode:
tk_string
Maximum length: 0
Member index: 1.
Member name: Value
Member typecode:
tk_union
Repository Id: IDL:Dict/DictionaryValue:1.0
Union Name: DictionaryValue
Discriminator Type:
tk_enum
Repository Id: IDL:Dict/DictionaryElementType:1.0
Enum Name: DictionaryElementType
Number of members: 5
Member Names:
0. isBoolean
1. isInteger
2. isFloat
3. isString
4. isDictionary
Default index: -1
Number of members: 5
Member index: 0.
Member name: boolVal
Member typecode:
tk_boolean
Union Label:
Label TypeCode:
tk_enum
Repository Id: IDL:Dict/DictionaryElementType:1.0
Enum Name: DictionaryElementType
Number of members: 5
Member Names:
0. isBoolean
1. isInteger
2. isFloat
3. isString
4. isDictionary
Label Value:
Unknown value.
Member index: 1.
Member name: i32Val
Member typecode:
tk_long
Union Label:
Label TypeCode:
tk_enum
Repository Id: IDL:Dict/DictionaryElementType:1.0
Enum Name: DictionaryElementType
Number of members: 5
Member Names:
0. isBoolean
1. isInteger
2. isFloat
3. isString
4. isDictionary
Label Value:
Unknown value.
Member index: 2.
Member name: floatVal
Member typecode:
tk_float
Union Label:
Label TypeCode:
tk_enum
Repository Id: IDL:Dict/DictionaryElementType:1.0
Enum Name: DictionaryElementType
Number of members: 5
Member Names:
0. isBoolean
1. isInteger
2. isFloat
3. isString
4. isDictionary
Label Value:
Unknown value.
Member index: 3.
Member name: strVal
Member typecode:
tk_string
Maximum length: 0
Union Label:
Label TypeCode:
tk_enum
Repository Id: IDL:Dict/DictionaryElementType:1.0
Enum Name: DictionaryElementType
Number of members: 5
Member Names:
0. isBoolean
1. isInteger
2. isFloat
3. isString
4. isDictionary
Label Value:
Unknown value.
Member index: 4.
Member name: dictVal
Member typecode:
tk_any
Union Label:
Label TypeCode:
tk_enum
Repository Id: IDL:Dict/DictionaryElementType:1.0
Enum Name: DictionaryElementType
Number of members: 5
Member Names:
0. isBoolean
1. isInteger
2. isFloat
3. isString
4. isDictionary
Label Value:
Unknown value.
##########################################
--Multipart_Fri_Jul_31_13:57:55_1998-1
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="typecodeParse.h"
Content-Transfer-Encoding: base64
Ly8gdHlwZWNvZGVQYXJzZS5oCi8vCgovLyBUeXBlQ29kZSBQYXJzZXIKCiNpbmNsdWRlIDxv
bW5pT1JCMi9DT1JCQS5oPgoKCiNpZm5kZWYgX3R5cGVjb2RlUGFyc2VfaF8KI2RlZmluZSBf
dHlwZWNvZGVQYXJzZV9oXwoKY2xhc3MgdHlwZWNvZGVQYXJzZQp7CiBwcml2YXRlOgogIHN0
YXRpYyB2b2lkIHBhcnNlTWVtYmVycyhDT1JCQTo6VHlwZUNvZGVfcHRyIGlUQyk7CgogcHVi
bGljOgogIHN0YXRpYyB2b2lkIHBhcnNlQ29kZShDT1JCQTo6VHlwZUNvZGVfcHRyIGlUQyxD
T1JCQTo6VHlwZUNvZGVfcHRyIHBhcmVudFRDID0gQ09SQkE6OlR5cGVDb2RlOjpfbmlsKCkp
OwoKfTsKCiNlbmRpZgo=
--Multipart_Fri_Jul_31_13:57:55_1998-1
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="typecodeParse.cc"
Content-Transfer-Encoding: base64
Ly8gdHlwZWNvZGVQYXJzZS5jYwovLwoKLy8gVHlwZUNvZGUgUGFyc2VyCgojaW5jbHVkZSA8
aW9zdHJlYW0uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKI2luY2x1ZGUgInR5cGVjb2RlUGFy
c2UuaCIKCnZvaWQgdHlwZWNvZGVQYXJzZTo6cGFyc2VDb2RlKENPUkJBOjpUeXBlQ29kZV9w
dHIgaVRDLENPUkJBOjpUeXBlQ29kZV9wdHIgcGFyZW50VEMpCnsKICB0cnkKICAgIHsKICAg
ICAgQ09SQkE6OlVMb25nIHRlbXAgPSBpVEMtPmtpbmQoKTsKICAgIH0KICBjYXRjaCguLi4p
CiAgICB7CiAgICAgIGNlcnIgPDwgIkdlbmVyYWwgZXhjZXB0aW9uIHdoZW4gZ2V0dGluZyBU
eXBlQ29kZSBraW5kLiIgPDwgZW5kbDsKICAgICAgZXhpdCgtMSk7CiAgICB9CgoKICBzd2l0
Y2goaVRDLT5raW5kKCkpCiAgICB7CiAgICBjYXNlIENPUkJBOjp0a19udWxsOgogICAgICBj
b3V0IDw8ICJ0a19udWxsIiA8PCBlbmRsOwogICAgICBicmVhazsKCiAgICBjYXNlIENPUkJB
Ojp0a192b2lkOgogICAgICBjb3V0IDw8ICJ0a192b2lkIiA8PCBlbmRsOwogICAgICBicmVh
azsKICAgICAKICAgIGNhc2UgQ09SQkE6OnRrX3Nob3J0OgogICAgICBjb3V0IDw8ICJ0a19z
aG9ydCIgPDwgZW5kbDsKICAgICAgYnJlYWs7CgogICAgY2FzZSBDT1JCQTo6dGtfbG9uZzoK
ICAgICAgY291dCA8PCAidGtfbG9uZyIgPDwgZW5kbDsKICAgICAgYnJlYWs7CgogICAgY2Fz
ZSBDT1JCQTo6dGtfdXNob3J0OgogICAgICBjb3V0IDw8ICJ0a191c2hvcnQiIDw8IGVuZGw7
CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgQ09SQkE6OnRrX3Vsb25nOgogICAgICBjb3V0IDw8
ICJ0a191bG9uZyIgPDwgZW5kbDsKICAgICAgYnJlYWs7CgogICAgY2FzZSBDT1JCQTo6dGtf
ZmxvYXQ6CiAgICAgIGNvdXQgPDwgInRrX2Zsb2F0IiA8PCBlbmRsOwogICAgICBicmVhazsK
CiAgICBjYXNlIENPUkJBOjp0a19kb3VibGU6CiAgICAgIGNvdXQgPDwgInRrX2RvdWJsZSIg
PDwgZW5kbDsKICAgICAgYnJlYWs7CgogICAgY2FzZSBDT1JCQTo6dGtfYm9vbGVhbjoKICAg
ICAgY291dCA8PCAidGtfYm9vbGVhbiIgPDwgZW5kbDsKICAgICAgYnJlYWs7CgogICAgY2Fz
ZSBDT1JCQTo6dGtfY2hhcjoKICAgICAgY291dCA8PCAidGtfY2hhciIgPDwgZW5kbDsKICAg
ICAgYnJlYWs7CgogICAgY2FzZSBDT1JCQTo6dGtfb2N0ZXQ6CiAgICAgIGNvdXQgPDwgInRr
X29jdGV0IiA8PCBlbmRsOwogICAgICBicmVhazsKCiAgICBjYXNlIENPUkJBOjp0a19hbnk6
CiAgICAgIGNvdXQgPDwgInRrX2FueSIgPDwgZW5kbDsKICAgICAgYnJlYWs7CgogICAgY2Fz
ZSBDT1JCQTo6dGtfVHlwZUNvZGU6CiAgICAgIGNvdXQgPDwgInRrX1R5cGVDb2RlIiA8PCBl
bmRsOwogICAgICBicmVhazsKCiAgICBjYXNlIENPUkJBOjp0a19QcmluY2lwYWw6CiAgICAg
IGNvdXQgPDwgInRrX1ByaW5jaXBhbCIgPDwgZW5kbDsKICAgICAgYnJlYWs7CgogICAgY2Fz
ZSBDT1JCQTo6dGtfb2JqcmVmOgogICAgICBjb3V0IDw8ICJ0a19vYmpyZWYiIDw8IGVuZGw7
CgogICAgICB0cnkKCXsKCSAgY291dCA8PCAiICBSZXBvc2l0b3J5IElkOiAiIDw8IChjb25z
dCBjaGFyKikgIGlUQy0+aWQoKSA8PCBlbmRsOwoJfQogICAgICBjYXRjaChDT1JCQTo6VHlw
ZUNvZGU6OkJhZEtpbmQmIEJLZXhjZXB0KQoJewoJICBjZXJyIDw8ICIgIFJlcG9zaXRvcnkg
SWQ6IDxCQUQgS0lORCBFWENFUFRJT04gUkFJU0VEPiIgPDwgZW5kbDsKCX0KICAgICAgY2F0
Y2goLi4uKQoJewoJICBjZXJyIDw8ICIgIEdlbmVyYWwgRXhjZXB0aW9uIFJhaXNlZCB3aGVu
IGdldHRpbmcgcmVwb3NpdG9yeSBJRC4iCgkgICAgICAgPDwgZW5kbDsKCSAgZXhpdCgtMSk7
Cgl9CgogICAgICB0cnkKCXsKCSAgY291dCA8PCAiICBPYmplY3QgTmFtZTogIiA8PCAoY29u
c3QgY2hhciopICBpVEMtPm5hbWUoKSA8PCBlbmRsOwoJfQogICAgICBjYXRjaChDT1JCQTo6
VHlwZUNvZGU6OkJhZEtpbmQmIEJLZXhjZXB0KQoJewoJICBjZXJyIDw8ICIgIE9iamVjdCBO
YW1lOiA8QkFEIEtJTkQgRVhDRVBUSU9OIFJBSVNFRD4iIDw8IGVuZGw7Cgl9CiAgICAgIGNh
dGNoKC4uLikKCXsKCSAgY2VyciA8PCAiICBHZW5lcmFsIEV4Y2VwdGlvbiBSYWlzZWQgd2hl
biBnZXR0aW5nIG9iamVjdCBuYW1lLiIgCgkgICAgICAgPDwgZW5kbDsKCSAgZXhpdCgtMSk7
Cgl9CgogICAgICBicmVhazsKICAgICAgCiAgICBjYXNlIENPUkJBOjp0a19zdHJ1Y3Q6CiAg
ICAgIGNvdXQgPDwgIiAgdGtfc3RydWN0IiA8PCBlbmRsOwoKICAgICAgdHJ5Cgl7CgkgIGNv
dXQgPDwgIiAgUmVwb3NpdG9yeSBJZDogIiA8PCAoY29uc3QgY2hhciopICBpVEMtPmlkKCkg
PDwgZW5kbDsKCX0KICAgICAgY2F0Y2goQ09SQkE6OlR5cGVDb2RlOjpCYWRLaW5kJiBCS2V4
Y2VwdCkKCXsKCSAgY2VyciA8PCAiICBSZXBvc2l0b3J5IElkOiA8QkFEIEtJTkQgRVhDRVBU
SU9OIFJBSVNFRD4iIDw8IGVuZGw7Cgl9CiAgICAgIGNhdGNoKC4uLikKCXsKCSAgY2VyciA8
PCAiICBHZW5lcmFsIEV4Y2VwdGlvbiBSYWlzZWQgd2hlbiBnZXR0aW5nIHJlcG9zaXRvcnkg
SUQuIiAKCSAgICAgICA8PCBlbmRsOwoJICBleGl0KC0xKTsKCX0KCiAgICAgIHRyeQoJewoJ
ICBjb3V0IDw8ICIgIFN0cnVjdCBOYW1lOiAiIDw8IChjb25zdCBjaGFyKikgIGlUQy0+bmFt
ZSgpIDw8IGVuZGw7Cgl9CiAgICAgIGNhdGNoKENPUkJBOjpUeXBlQ29kZTo6QmFkS2luZCYg
QktleGNlcHQpCgl7CgkgIGNlcnIgPDwgIiAgU3RydWN0IE5hbWU6IDxCQUQgS0lORCBFWENF
UFRJT04gUkFJU0VEPiIgPDwgZW5kbDsKCX0KICAgICAgY2F0Y2goLi4uKQoJewoJICBjZXJy
IDw8ICIgIEdlbmVyYWwgRXhjZXB0aW9uIFJhaXNlZCB3aGVuIGdldHRpbmcgc3RydWN0IG5h
bWUuIiAKCSAgICAgICA8PCBlbmRsOwoJICBleGl0KC0xKTsKCX0KCiAgICAgIHBhcnNlTWVt
YmVycyhpVEMpOwoKICAgICAgYnJlYWs7CgogICAgY2FzZSBDT1JCQTo6dGtfdW5pb246CiAg
ICAgIGNvdXQgPDwgIiAgdGtfdW5pb24iIDw8IGVuZGw7CgogICAgICB0cnkKCXsKCSAgY291
dCA8PCAiICBSZXBvc2l0b3J5IElkOiAiIDw8IChjb25zdCBjaGFyKikgIGlUQy0+aWQoKSA8
PCBlbmRsOwoJfQogICAgICBjYXRjaChDT1JCQTo6VHlwZUNvZGU6OkJhZEtpbmQmIEJLZXhj
ZXB0KQoJewoJICBjZXJyIDw8ICIgIFJlcG9zaXRvcnkgSWQ6IDxCQUQgS0lORCBFWENFUFRJ
T04gUkFJU0VEPiIgPDwgZW5kbDsKCX0KICAgICAgY2F0Y2goLi4uKQoJewoJICBjZXJyIDw8
ICIgIEdlbmVyYWwgRXhjZXB0aW9uIFJhaXNlZCB3aGVuIGdldHRpbmcgcmVwb3NpdG9yeSBJ
RC4iIAoJICAgICAgIDw8IGVuZGw7CgkgIGV4aXQoLTEpOwoJfQoKICAgICAgdHJ5Cgl7Cgkg
IGNvdXQgPDwgIiAgVW5pb24gTmFtZTogIiA8PCAoY29uc3QgY2hhciopICBpVEMtPm5hbWUo
KSA8PCBlbmRsOwoJfQogICAgICBjYXRjaChDT1JCQTo6VHlwZUNvZGU6OkJhZEtpbmQmIEJL
ZXhjZXB0KQoJewoJICBjZXJyIDw8ICIgIFVuaW9uIE5hbWU6IDxCQUQgS0lORCBFWENFUFRJ
T04gUkFJU0VEPiIgPDwgZW5kbDsKCX0KICAgICAgY2F0Y2goLi4uKQoJewoJICBjZXJyIDw8
ICIgIEdlbmVyYWwgRXhjZXB0aW9uIFJhaXNlZCB3aGVuIGdldHRpbmcgdW5pb24gbmFtZS4i
IAoJICAgICAgIDw8IGVuZGw7CgkgIGV4aXQoLTEpOwoJfQoKICAgICAgCiAgICAgIHRyeQoJ
ewoJICBjb3V0IDw8ICIgIERpc2NyaW1pbmF0b3IgVHlwZTogIiA8PCBlbmRsOwoJICBDT1JC
QTo6VHlwZUNvZGVfcHRyIG1lbVRDID0gaVRDLT5kaXNjcmltaW5hdG9yX3R5cGUoKTsKCgkg
IGlmICghQ09SQkE6OmlzX25pbChwYXJlbnRUQykpCgkgICAgewoJICAgICAgaWYgKG1lbVRD
LT5lcXVhbChwYXJlbnRUQykpCgkJewoJCSAgY291dCA8PCAiW1BhcmVudCBUeXBlXSIgPDwg
ZW5kbDsKCQl9CgkgICAgICBlbHNlIHR5cGVjb2RlUGFyc2U6OnBhcnNlQ29kZShtZW1UQyk7
CgkgICAgfQoJICBlbHNlIHR5cGVjb2RlUGFyc2U6OnBhcnNlQ29kZShtZW1UQyk7CgoJICBD
T1JCQTo6cmVsZWFzZShtZW1UQyk7CgkgIGNvdXQgPDwgIlxuIjsKCX0KICAgICAgY2F0Y2go
Q09SQkE6OlR5cGVDb2RlOjpCYWRLaW5kJiBCS2V4Y2VwdCkKCXsKCSAgY2VyciA8PCAKCSAg
ICAiICA8QkFEIEtJTkQgRVhDRVBUSU9OIFJBSVNFRD4gd2hlbiByZWFkaW5nIGRpc2NyaW1p
bmF0b3IgdHlwZS4iIAoJICAgICAgIDw8IGVuZGw7Cgl9CiAgICAgIGNhdGNoKC4uLikKCXsK
CSAgY2VyciA8PCIgIEdlbmVyYWwgRXhjZXB0aW9uIFJhaXNlZCB3aGVuIHJlYWRpbmcgZGlz
Y3JpbWluYXRvciB0eXBlLiIgCgkgICAgICAgPDwgZW5kbDsKCSAgZXhpdCgtMSk7Cgl9Cgog
ICAgICBjb3V0IDw8ICJEZWZhdWx0IGluZGV4OiAiIDw8IGlUQy0+ZGVmYXVsdF9pbmRleCgp
IDw8IGVuZGw7CiAgICAgIHBhcnNlTWVtYmVycyhpVEMpOwoKICAgICAgYnJlYWs7CgogICAg
Y2FzZSBDT1JCQTo6dGtfZW51bToKCgogICAgICBjb3V0IDw8ICIgIHRrX2VudW0iIDw8IGVu
ZGw7CgogICAgICB0cnkKCXsKCSAgY291dCA8PCAiICBSZXBvc2l0b3J5IElkOiAiIDw8IChj
b25zdCBjaGFyKikgIGlUQy0+aWQoKSA8PCBlbmRsOwoJfQogICAgICBjYXRjaChDT1JCQTo6
VHlwZUNvZGU6OkJhZEtpbmQmIEJLZXhjZXB0KQoJewoJICBjZXJyIDw8ICIgIFJlcG9zaXRv
cnkgSWQ6IDxCQUQgS0lORCBFWENFUFRJT04gUkFJU0VEPiIgPDwgZW5kbDsKCX0KICAgICAg
Y2F0Y2goLi4uKQoJewoJICBjZXJyIDw8ICIgIEdlbmVyYWwgRXhjZXB0aW9uIFJhaXNlZCB3
aGVuIGdldHRpbmcgcmVwb3NpdG9yeSBJRC4iIAoJICAgICAgIDw8IGVuZGw7CgkgIGV4aXQo
LTEpOwoJfQoKICAgICAgdHJ5Cgl7CgkgIGNvdXQgPDwgIiAgRW51bSBOYW1lOiAiIDw8IChj
b25zdCBjaGFyKikgIGlUQy0+bmFtZSgpIDw8IGVuZGw7Cgl9CiAgICAgIGNhdGNoKENPUkJB
OjpUeXBlQ29kZTo6QmFkS2luZCYgQktleGNlcHQpCgl7CgkgIGNlcnIgPDwgIiAgRW51bSBO
YW1lOiA8QkFEIEtJTkQgRVhDRVBUSU9OIFJBSVNFRD4iIDw8IGVuZGw7Cgl9CiAgICAgIGNh
dGNoKC4uLikKCXsKCSAgY2VyciA8PCAiICBHZW5lcmFsIEV4Y2VwdGlvbiBSYWlzZWQgd2hl
biBnZXR0aW5nIGVudW0gbmFtZS4iIAoJICAgICAgIDw8IGVuZGw7CgkgIGV4aXQoLTEpOwoJ
fQoKICAgICAgdHJ5Cgl7CgkgIGNvdXQgPDwgIiAgTnVtYmVyIG9mIG1lbWJlcnM6ICIgIDw8
IGlUQy0+bWVtYmVyX2NvdW50KCkgPDwgZW5kbDsKCSAgY291dCA8PCAiICBNZW1iZXIgTmFt
ZXM6ICIgPDwgZW5kbDsKCgkgIGZvcihDT1JCQTo6VUxvbmcgaSA9IDA7IGkgPCBpVEMtPm1l
bWJlcl9jb3VudCgpOyBpKyspCgkgICAgewoJICAgICAgY291dCA8PCAiICAgIiA8PCBpIDw8
ICIuICI7CgoJICAgICAgdHJ5CgkJewoJCSAgY291dCA8PCAoY29uc3QgY2hhciopIGlUQy0+
bWVtYmVyX25hbWUoaSkgPDwgZW5kbDsKCQl9CgkgICAgICBjYXRjaChDT1JCQTo6VHlwZUNv
ZGU6OkJhZEtpbmQmIEJLZXhjZXB0KQoJCXsKCQkgIGNlcnIgPDwgIiAgIDxCQUQgS0lORCBF
WENFUFRJT04gUkFJU0VEPiB3aGVuIHJlYWRpbmcgIgoJCSAgICAgICA8PCAibWVtYmVyX25h
bWUoKSIgPDwgZW5kbDsKCgkJfQoJICAgICAgY2F0Y2goQ09SQkE6OlR5cGVDb2RlOjpCb3Vu
ZHMmIEJuZHNleGNlcHQpCgkJewoJCSAgY2VyciA8PCAiICAgPEJPVU5EUyBFWENFUFRJT04g
UkFJU0VEPiB3aGVuIHJlYWRpbmcgIgoJCSAgICAgICA8PCAibWVtYmVyX25hbWUoKSI8PCBl
bmRsOwoJCX0KCSAgICAgIGNhdGNoKC4uLikKCQl7CgkJICBjZXJyIDw8ICIgICBHZW5lcmFs
IEV4Y2VwdGlvbiBSYWlzZWQgd2hlbiByZWFkaW5nICIKCQkgICAgICAgPDwgIm1lbWJlcl9u
YW1lKCkgIiA8PCBlbmRsOwoJCSAgZXhpdCgtMSk7CgkJfQoJICAgIH0KCX0KICAgICAgY2F0
Y2goQ09SQkE6OlR5cGVDb2RlOjpCYWRLaW5kJiBCS2V4Y2VwdCkKCXsKCSAgY2VyciA8PCAi
ICBOdW1iZXIgb2YgbWVtYmVyczogPEJBRCBLSU5EIEVYQ0VQVElPTiBSQUlTRUQ+IiA8PCBl
bmRsOwoJfQogICAgICBjYXRjaCguLi4pCgl7CgkgIGNlcnIgPDwgIiAgR2VuZXJhbCBFeGNl
cHRpb24gUmFpc2VkIHdoZW4gZ2V0dGluZyBudW1iZXIgb2YgbWVtYmVycy4iIAoJICAgICAg
IDw8IGVuZGw7CgkgIGV4aXQoLTEpOwoJfQoJCiAgICAgIGJyZWFrOwoKCiAgICBjYXNlIENP
UkJBOjp0a19zdHJpbmc6CgogICAgICBjb3V0IDw8ICIgIHRrX3N0cmluZyIgPDwgZW5kbDsK
ICAgICAgCiAgICAgIHRyeQoJewoJICBjb3V0IDw8ICIgIE1heGltdW0gbGVuZ3RoOiAiIDw8
IGlUQy0+bGVuZ3RoKCkgPDwgZW5kbDsKCX0KICAgICAgY2F0Y2goQ09SQkE6OlR5cGVDb2Rl
OjpCYWRLaW5kJiBCS2V4Y2VwdCkKCXsKCSAgY2VyciA8PCAiICBNYXhpbXVtIGxlbmd0aDog
PEJBRCBLSU5EIEVYQ0VQVElPTiBSQUlTRUQ+IiA8PCBlbmRsOwoJfQogICAgICBjYXRjaCgu
Li4pCgl7CgkgIGNlcnIgPDwiICBHZW5lcmFsIEV4Y2VwdGlvbiBSYWlzZWQgd2hlbiBnZXR0
aW5nIG1heGltdW0gbGVuZ3RoLiIgCgkgICAgICAgPDwgZW5kbDsKCSAgZXhpdCgtMSk7Cgl9
CiAgICAgIAogICAgICBicmVhazsKCiAgICAgIAogICAgY2FzZSBDT1JCQTo6dGtfc2VxdWVu
Y2U6CgogICAgICBjb3V0IDw8ICIgIHRrX3NlcXVlbmNlIiA8PCBlbmRsOwoKCiAgICAgIHRy
eQoJewoJICBjb3V0IDw8ICIgIE1heGltdW0gbGVuZ3RoOiAiIDw8IGlUQy0+bGVuZ3RoKCkg
PDwgZW5kbDsKCSAgaWYgKGlUQy0+bGVuZ3RoKCkgPT0gMCkgY291dCA8PCAiVW5ib3VuZGVk
IFNlcXVlbmNlLiIgPDwgZW5kbDsKCX0KICAgICAgY2F0Y2goQ09SQkE6OlR5cGVDb2RlOjpC
YWRLaW5kJiBCS2V4Y2VwdCkKCXsKCSAgY2VyciA8PCAiICBNYXhpbXVtIGxlbmd0aDogPEJB
RCBLSU5EIEVYQ0VQVElPTiBSQUlTRUQ+IiA8PCBlbmRsOwoJfQogICAgICBjYXRjaCguLi4p
Cgl7CgkgIGNlcnIgPDwiICBHZW5lcmFsIEV4Y2VwdGlvbiBSYWlzZWQgd2hlbiBnZXR0aW5n
IG1heGltdW0gbGVuZ3RoLiIgCgkgICAgICAgPDwgZW5kbDsKCSAgZXhpdCgtMSk7Cgl9Cgog
ICAgICBjb3V0IDw8ICIgIENvbnRlbnQgVHlwZToiIDw8IGVuZGw7CgogICAgICB0cnkKCXsK
CSAgQ09SQkE6OlR5cGVDb2RlX3B0ciBtZW1UQyA9IGlUQy0+Y29udGVudF90eXBlKCk7CgoJ
ICBpZiAoIUNPUkJBOjppc19uaWwocGFyZW50VEMpKQoJICAgIHsKCSAgICAgIGlmIChtZW1U
Qy0+ZXF1YWwocGFyZW50VEMpKQoJCXsKCQkgIGNvdXQgPDwgIltQYXJlbnQgVHlwZV0iIDw8
IGVuZGw7CgkJfQoJICAgICAgZWxzZSB0eXBlY29kZVBhcnNlOjpwYXJzZUNvZGUobWVtVEMp
OwoJICAgIH0KCSAgZWxzZSB0eXBlY29kZVBhcnNlOjpwYXJzZUNvZGUobWVtVEMpOwoJICBD
T1JCQTo6cmVsZWFzZShtZW1UQyk7CgkgIGNvdXQgPDwgIlxuIjsKCX0KICAgICAgY2F0Y2go
Q09SQkE6OlR5cGVDb2RlOjpCYWRLaW5kJiBCS2V4Y2VwdCkKCXsKCSAgY2VyciA8PCAiICA8
QkFEIEtJTkQgRVhDRVBUSU9OIFJBSVNFRD4gd2hlbiByZWFkaW5nIGNvbnRlbnQgdHlwZS4i
IAoJICAgICAgIDw8IGVuZGw7Cgl9CiAgICAgIGNhdGNoKC4uLikKCXsKCSAgY2VyciA8PCIg
IEdlbmVyYWwgRXhjZXB0aW9uIFJhaXNlZCB3aGVuIHJlYWRpbmcgY29udGVudCB0eXBlLiIg
CgkgICAgICAgPDwgZW5kbDsKCSAgZXhpdCgtMSk7Cgl9CgogICAgICBicmVhazsKCiAgICBj
YXNlIENPUkJBOjp0a19hcnJheToKCiAgICAgIGNvdXQgPDwgIiAgdGtfYXJyYXkiIDw8IGVu
ZGw7CgogICAgICB0cnkKCXsKCSAgY291dCA8PCAiICBNYXhpbXVtIGxlbmd0aDogIiA8PCBp
VEMtPmxlbmd0aCgpIDw8IGVuZGw7Cgl9CiAgICAgIGNhdGNoKENPUkJBOjpUeXBlQ29kZTo6
QmFkS2luZCYgQktleGNlcHQpCgl7CgkgIGNlcnIgPDwgIiAgTWF4aW11bSBsZW5ndGg6IDxC
QUQgS0lORCBFWENFUFRJT04gUkFJU0VEPiIgPDwgZW5kbDsKCX0KICAgICAgY2F0Y2goLi4u
KQoJewoJICBjZXJyIDw8IiAgR2VuZXJhbCBFeGNlcHRpb24gUmFpc2VkIHdoZW4gZ2V0dGlu
ZyBtYXhpbXVtIGxlbmd0aC4iIAoJICAgICAgIDw8IGVuZGw7CgkgIGV4aXQoLTEpOwoJfQoK
ICAgICAgY291dCA8PCAiICBDb250ZW50IFR5cGU6IiA8PCBlbmRsOwoKICAgICAgdHJ5Cgl7
CgkgIENPUkJBOjpUeXBlQ29kZV9wdHIgbWVtVEMgPSBpVEMtPmNvbnRlbnRfdHlwZSgpOwoK
CSAgaWYgKCFDT1JCQTo6aXNfbmlsKHBhcmVudFRDKSkKCSAgICB7CgkgICAgICBpZiAobWVt
VEMtPmVxdWFsKHBhcmVudFRDKSkKCQl7CgkJICBjb3V0IDw8ICJbUGFyZW50IFR5cGVdIiA8
PCBlbmRsOwoJCX0KCSAgICAgIGVsc2UgIHR5cGVjb2RlUGFyc2U6OnBhcnNlQ29kZShtZW1U
Qyk7CgkgICAgfQoJICBlbHNlIHR5cGVjb2RlUGFyc2U6OnBhcnNlQ29kZShtZW1UQyk7Cgkg
IENPUkJBOjpyZWxlYXNlKG1lbVRDKTsKCgkgIGNvdXQgPDwgIlxuIjsKCX0KICAgICAgY2F0
Y2goQ09SQkE6OlR5cGVDb2RlOjpCYWRLaW5kJiBCS2V4Y2VwdCkKCXsKCSAgY2VyciA8PCAi
ICA8QkFEIEtJTkQgRVhDRVBUSU9OIFJBSVNFRD4gd2hlbiByZWFkaW5nIGNvbnRlbnQgdHlw
ZS4iIAoJICAgICAgIDw8IGVuZGw7Cgl9CiAgICAgIGNhdGNoKC4uLikKCXsKCSAgY2VyciA8
PCIgIEdlbmVyYWwgRXhjZXB0aW9uIFJhaXNlZCB3aGVuIHJlYWRpbmcgY29udGVudCB0eXBl
LiIgCgkgICAgICAgPDwgZW5kbDsKCSAgZXhpdCgtMSk7Cgl9CgogICAgICBicmVhazsKCiAg
ICBjYXNlIENPUkJBOjp0a19hbGlhczoKCiAgICAgIGNvdXQgPDwgIiAgdGtfYWxpYXMiIDw8
IGVuZGw7CgogICAgICB0cnkKCXsKCSAgY291dCA8PCAiICBSZXBvc2l0b3J5IElkOiAiIDw8
IChjb25zdCBjaGFyKikgIGlUQy0+aWQoKSA8PCBlbmRsOwoJfQogICAgICBjYXRjaChDT1JC
QTo6VHlwZUNvZGU6OkJhZEtpbmQmIEJLZXhjZXB0KQoJewoJICBjZXJyIDw8ICIgIFJlcG9z
aXRvcnkgSWQ6IDxCQUQgS0lORCBFWENFUFRJT04gUkFJU0VEPiIgPDwgZW5kbDsKCX0KICAg
ICAgY2F0Y2goLi4uKQoJewoJICBjZXJyIDw8ICIgIEdlbmVyYWwgRXhjZXB0aW9uIFJhaXNl
ZCB3aGVuIGdldHRpbmcgcmVwb3NpdG9yeSBJRC4iCgkgICAgICAgPDwgZW5kbDsKCSAgZXhp
dCgtMSk7Cgl9CgogICAgICB0cnkKCXsKCSAgY291dCA8PCAiICBBbGlhcyBOYW1lOiAiIDw8
IChjb25zdCBjaGFyKikgIGlUQy0+bmFtZSgpIDw8IGVuZGw7Cgl9CiAgICAgIGNhdGNoKENP
UkJBOjpUeXBlQ29kZTo6QmFkS2luZCYgQktleGNlcHQpCgl7CgkgIGNlcnIgPDwgIiAgQWxp
YXMgTmFtZTogPEJBRCBLSU5EIEVYQ0VQVElPTiBSQUlTRUQ+IiA8PCBlbmRsOwoJfQogICAg
ICBjYXRjaCguLi4pCgl7CgkgIGNlcnIgPDwgIiAgR2VuZXJhbCBFeGNlcHRpb24gUmFpc2Vk
IHdoZW4gZ2V0dGluZyBhbGlhcyBuYW1lLiIgCgkgICAgICAgPDwgZW5kbDsKCSAgZXhpdCgt
MSk7Cgl9CiAgICAgIAoKICAgICAgY291dCA8PCAiICBDb250ZW50IFR5cGUgKGFsaWFzIHRv
KToiIDw8IGVuZGw7CgogICAgICB0cnkKCXsKCSAgQ09SQkE6OlR5cGVDb2RlX3B0ciBtZW1U
QyA9IGlUQy0+Y29udGVudF90eXBlKCk7CgoJICBpZiAobWVtVEMtPmVxdWFsKGlUQykpIAoJ
ICAgIHsKCSAgICAgIGNvdXQgPDwgIiAgICBNZW1iZXIgdHlwZWNvZGUgKHNhbWUgdHlwZSBh
cyBwYXJlbnQpIDoiIDw8IGVuZGw7CgkgICAgICB0eXBlY29kZVBhcnNlOjpwYXJzZUNvZGUo
bWVtVEMpOwoJICAgIH0KCSAgZWxzZSAgdHlwZWNvZGVQYXJzZTo6cGFyc2VDb2RlKG1lbVRD
KTsKCSAgQ09SQkE6OnJlbGVhc2UobWVtVEMpOwoJICBjb3V0IDw8ICJcbiI7Cgl9CiAgICAg
IGNhdGNoKENPUkJBOjpUeXBlQ29kZTo6QmFkS2luZCYgQktleGNlcHQpCgl7CgkgIGNlcnIg
PDwgIiAgPEJBRCBLSU5EIEVYQ0VQVElPTiBSQUlTRUQ+IHdoZW4gcmVhZGluZyBjb250ZW50
IHR5cGUuIiAKCSAgICAgICA8PCBlbmRsOwoJfQogICAgICBjYXRjaCguLi4pCgl7CgkgIGNl
cnIgPDwiICBHZW5lcmFsIEV4Y2VwdGlvbiBSYWlzZWQgd2hlbiByZWFkaW5nIGNvbnRlbnQg
dHlwZS4iIAoJICAgICAgIDw8IGVuZGw7CgkgIGV4aXQoLTEpOwoJfQoKICAgICAgYnJlYWs7
CgogICAgY2FzZSBDT1JCQTo6dGtfZXhjZXB0OgogICAgICAKICAgICAgY291dCA8PCAiICB0
a19leGNlcHQiIDw8IGVuZGw7CgogICAgICAgICAgICB0cnkKCXsKCSAgY291dCA8PCAiICBS
ZXBvc2l0b3J5IElkOiAiIDw8IChjb25zdCBjaGFyKikgIGlUQy0+aWQoKSA8PCBlbmRsOwoJ
fQogICAgICBjYXRjaChDT1JCQTo6VHlwZUNvZGU6OkJhZEtpbmQmIEJLZXhjZXB0KQoJewoJ
ICBjZXJyIDw8ICIgIFJlcG9zaXRvcnkgSWQ6IDxCQUQgS0lORCBFWENFUFRJT04gUkFJU0VE
PiIgPDwgZW5kbDsKCX0KICAgICAgY2F0Y2goLi4uKQoJewoJICBjZXJyIDw8ICIgIEdlbmVy
YWwgRXhjZXB0aW9uIFJhaXNlZCB3aGVuIGdldHRpbmcgcmVwb3NpdG9yeSBJRC4iCgkgICAg
ICAgPDwgZW5kbDsKCSAgZXhpdCgtMSk7Cgl9CgogICAgICB0cnkKCXsKCSAgY291dCA8PCAi
ICBFeGNlcHRpb24gTmFtZTogIiA8PCAoY29uc3QgY2hhciopICBpVEMtPm5hbWUoKSA8PCBl
bmRsOwoJfQogICAgICBjYXRjaChDT1JCQTo6VHlwZUNvZGU6OkJhZEtpbmQmIEJLZXhjZXB0
KQoJewoJICBjZXJyIDw8ICIgIEV4Y2VwdGlvbiBOYW1lOiA8QkFEIEtJTkQgRVhDRVBUSU9O
IFJBSVNFRD4iIDw8IGVuZGw7Cgl9CiAgICAgIGNhdGNoKC4uLikKCXsKCSAgY2VyciA8PCAi
ICBHZW5lcmFsIEV4Y2VwdGlvbiBSYWlzZWQgd2hlbiBnZXR0aW5nIGV4Y2VwdGlvbiBuYW1l
LiIgCgkgICAgICAgPDwgZW5kbDsKCSAgZXhpdCgtMSk7Cgl9CgogICAgICBwYXJzZU1lbWJl
cnMoaVRDKTsKICAgICAgCiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CgogICAgICBjZXJy
IDw8ICJUeXBlQ29kZSBub3Qga25vd24gKE51bWJlciA9ICIgPDwgKENPUkJBOjpVTG9uZykg
aVRDLT5raW5kKCkKCSAgIDw8ICIgKSIgPDwgZW5kbDsKICAgICAgCiAgICB9CSAgCgp9CgoK
dm9pZCB0eXBlY29kZVBhcnNlOjpwYXJzZU1lbWJlcnMoQ09SQkE6OlR5cGVDb2RlX3B0ciBp
VEMpCnsKCiAgdHJ5CiAgICB7CiAgICAgIGNvdXQgPDwgIiAgTnVtYmVyIG9mIG1lbWJlcnM6
ICIgIDw8IGlUQy0+bWVtYmVyX2NvdW50KCkgPDwgZW5kbDsKICAgIH0KICBjYXRjaChDT1JC
QTo6VHlwZUNvZGU6OkJhZEtpbmQmIEJLZXhjZXB0KQogICAgewogICAgICBjZXJyIDw8ICIg
IE51bWJlciBvZiBtZW1iZXJzOiA8QkFEIEtJTkQgRVhDRVBUSU9OIFJBSVNFRD4iIDw8IGVu
ZGw7CiAgICAgIHJldHVybjsKICAgIH0KICBjYXRjaCguLi4pCiAgICB7CiAgICAgIGNlcnIg
PDwgIiAgR2VuZXJhbCBFeGNlcHRpb24gUmFpc2VkIHdoZW4gZ2V0dGluZyBudW1iZXIgb2Yg
bWVtYmVycy4iIAoJICAgPDwgZW5kbDsKICAgICAgZXhpdCgtMSk7CiAgICB9CgoKICBmb3Io
Q09SQkE6OlVMb25nIGkgPSAwOyBpIDwgaVRDLT5tZW1iZXJfY291bnQoKTsgaSsrKQogICAg
ewogICAgICBjb3V0IDw8ICIgICBNZW1iZXIgaW5kZXg6ICIgPDwgaSA8PCAiLiIgPDwgZW5k
bDsKCQkgICAgCiAgICAgIHRyeQoJewoJICBjb3V0IDw8ICIgICBNZW1iZXIgbmFtZTogIiA8
PCBpVEMtPm1lbWJlcl9uYW1lKGkpIDw8ICJcbiIgPDwgZW5kbDsKCgkgIGNvdXQgPDwgIiAg
IE1lbWJlciB0eXBlY29kZTogIiA8PCBlbmRsOwoJICBDT1JCQTo6VHlwZUNvZGVfcHRyIG1l
bVRDID0gaVRDLT5tZW1iZXJfdHlwZShpKTsKCgkgIGlmIChtZW1UQy0+ZXF1YWwoaVRDKSkg
CgkgICAgewoJICAgICAgY291dCA8PCAiICAgIE1lbWJlciB0eXBlY29kZTogW1NhbWUgdHlw
ZSBhcyBwYXJlbnRdIiA8PCBlbmRsOwoJICAgIH0KCSAgZWxzZSB0eXBlY29kZVBhcnNlOjpw
YXJzZUNvZGUobWVtVEMsaVRDKTsKCSAgQ09SQkE6OnJlbGVhc2UobWVtVEMpOwoJICBjb3V0
IDw8ICJcbiI7CgoJICBpZiAoaVRDLT5raW5kKCkgPT0gQ09SQkE6OnRrX3VuaW9uKQoJICAg
IHsKCSAgICAgIENPUkJBOjpBbnkqIGE7CgkgICAgICBhID0gaVRDLT5tZW1iZXJfbGFiZWwo
aSk7CgkgICAgICBjb3V0IDw8ICJVbmlvbiBMYWJlbDogIiA8PCBlbmRsOwoJICAgICAgQ09S
QkE6OlR5cGVDb2RlX3B0ciBhVEMgPSBhLT50eXBlKCk7CgkgICAgICBpZiAoYVRDLT5lcXVh
bChpVEMpKQoJCXsKCQkgIGNvdXQgPDwgIiAgICBMYWJlbCBUeXBlQ29kZTogW1NhbWUgdHlw
ZSBhcyBwYXJlbnRdIiA8PCBlbmRsOwoJCX0KCSAgICAgIGVsc2UKCQl7CSAgICAgIAoJCSAg
Y291dCA8PCAiICAgIExhYmVsIFR5cGVDb2RlOiAiIDw8IGVuZGw7CgkJICB0eXBlY29kZVBh
cnNlOjpwYXJzZUNvZGUoYVRDLGlUQyk7CgkJfQoJICAgICAgQ09SQkE6OnJlbGVhc2UoYVRD
KTsKCSAgICAgIGNvdXQgPDwgIlxuTGFiZWwgVmFsdWU6IiA8PCBlbmRsOwoKCSAgICAgIENP
UkJBOjpDaGFyIF9jaDsKCSAgICAgIENPUkJBOjpCb29sZWFuIF9ib287CgkgICAgICBDT1JC
QTo6T2N0ZXQgX2Fub2N0OwoJICAgICAgQ09SQkE6OlNob3J0IF9zaDsKCSAgICAgIENPUkJB
OjpVU2hvcnQgX3VzaDsKCSAgICAgIENPUkJBOjpMb25nIF9sOwoJICAgICAgQ09SQkE6OlVM
b25nIF91bDsKCSAgICAgIAoJICAgICAgaWYgKCphID4+PSBDT1JCQTo6QW55Ojp0b19jaGFy
KF9jaCkpCgkJewoJCSAgY291dCA8PCAiQ2hhcjogIiA8PCBfY2ggPDwgZW5kbDsKCQl9Cgkg
ICAgICBlbHNlIGlmICgqYSA+Pj0gQ09SQkE6OkFueTo6dG9fYm9vbGVhbihfYm9vKSkKCQl7
CgkJICBjb3V0IDw8ICJCb29sZWFuOiAiIDw8IF9ib28gPDwgZW5kbDsKCQl9CgkgICAgICBl
bHNlIGlmICgqYSA+Pj0gQ09SQkE6OkFueTo6dG9fb2N0ZXQoX2Fub2N0KSkKCQl7CgkJICBj
b3V0IDw8ICJPY3RldDogXyIgPDwgKENPUkJBOjpVU2hvcnQpIF9hbm9jdCA8PCAiXyIgPDwg
ZW5kbDsKCQl9CgkgICAgICBlbHNlIGlmICgqYSA+Pj0gX3NoKQoJCXsKCQkgIGNvdXQgPDwg
IlNob3J0OiAiIDw8IF9zaCA8PCBlbmRsOwoJCX0KCSAgICAgIGVsc2UgaWYgKCphID4+PSBf
dXNoKQoJCXsKCQkgIGNvdXQgPDwgIlVTaG9ydDogIiA8PCBfdXNoIDw8IGVuZGw7CgkJfQoJ
ICAgICAgZWxzZSBpZiAoKmEgPj49IF9sKQoJCXsKCQkgIGNvdXQgPDwgIkxvbmc6ICIgPDwg
X2wgPDwgZW5kbDsKCQl9CgkgICAgICBlbHNlIGlmICgqYSA+Pj0gX3VsKQoJCXsKCQkgIGNv
dXQgPDwgIlVMb25nOiAiIDw8IF91bCA8PCBlbmRsOwoJCX0KCSAgICAgIGVsc2UKCQl7CgkJ
ICBjb3V0IDw8ICJVbmtub3duIHZhbHVlLiIgPDwgZW5kbDsKCQl9CgoJICAgICAgZGVsZXRl
IGE7CgkgICAgfQoJfQogICAgICBjYXRjaChDT1JCQTo6VHlwZUNvZGU6OkJhZEtpbmQmIEJL
ZXhjZXB0KQoJewoJICBjZXJyIDw8ICIgICA8QkFEIEtJTkQgRVhDRVBUSU9OIFJBSVNFRD4g
d2hlbiByZWFkaW5nIG1lbWJlcl9uYW1lKCkgIgoJICAgICAgIDw8ICJvciBtZW1iZXJfdHlw
ZSgpLiIgPDwgZW5kbDsKCX0KICAgICAgY2F0Y2goQ09SQkE6OlR5cGVDb2RlOjpCb3VuZHMm
IEJuZHNleGNlcHQpCgl7CgkgIGNlcnIgPDwgIiAgIDxCT1VORFMgRVhDRVBUSU9OIFJBSVNF
RD4gd2hlbiByZWFkaW5nIG1lbWJlcl9uYW1lKCkgIgoJICAgICAgIDw8ICJvciBtZW1iZXJf
dHlwZSgpLiIgPDwgZW5kbDsKCX0KICAgICAgY2F0Y2goLi4uKQoJewoJICBjZXJyIDw8ICIg
ICBHZW5lcmFsIEV4Y2VwdGlvbiBSYWlzZWQgd2hlbiByZWFkaW5nIG1lbWJlcl9uYW1lKCkg
IgoJICAgICAgIDw8ICJvciBtZW1iZXJfdHlwZSgpLiIgPDwgZW5kbDsKCSAgZXhpdCgtMSk7
Cgl9CiAgICB9Cn0K
--Multipart_Fri_Jul_31_13:57:55_1998-1
Content-Type: text/plain; charset=US-ASCII
--
Dr. Sai-Lai Lo | Research Scientist
|
E-mail: S.Lo@orl.co.uk | Olivetti & Oracle Research Lab
| 24a Trumpington Street
Tel: +44 223 343000 | Cambridge CB2 1QA
Fax: +44 223 313542 | ENGLAND
--Multipart_Fri_Jul_31_13:57:55_1998-1--