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:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user