BPortLink now has a FlushWithReply() method itself.

BPortLink::AttachString() now accepts a length argument, and will no longer
send a terminating null byte; LinkMsgReader::ReadString(), however, will
make sure the string read is null terminated.
Changed client communication code to use FlushWithReply() instead of Flush()
and GetNextReply() - there were many bugs and shortcomings in the code, I
hope I've fixed them all.
Converted ClientFontList.cpp to our coding style (but not completely, the
class members are missing).
Some more cleanup - I hope Adi will adopt our coding style one day!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12998 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2005-06-08 00:36:26 +00:00
parent 750b92faf3
commit 75936a02e4
16 changed files with 865 additions and 1011 deletions
+3 -7
View File
@@ -1109,7 +1109,7 @@ BApplication::connect_to_app_server()
// 4) int32 - handler ID token of the app
// 5) char * - signature of the regular app
BPortLink link(fServerFrom, fServerTo);
int32 code = SERVER_FALSE;
int32 code;
link.StartMessage(AS_CREATE_APP);
link.Attach<port_id>(fServerTo);
@@ -1117,13 +1117,9 @@ BApplication::connect_to_app_server()
link.Attach<team_id>(Team());
link.Attach<int32>(_get_object_token_(this));
link.AttachString(fAppName);
link.Flush();
link.GetNextReply(&code);
// Reply code: SERVER_TRUE
// Reply data:
// 1) port_id server-side application port (fServerFrom value)
if (code == SERVER_TRUE)
if (link.FlushWithReply(code) == B_OK
&& code == SERVER_TRUE)
link.Read<port_id>(&fServerFrom);
else
debugger("BApplication: couldn't obtain new app_server comm port");