miniature cleanups.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20874 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Hugo Santos
2007-04-28 09:37:26 +00:00
parent 90c0876839
commit 4e8a1b331f
3 changed files with 34 additions and 14 deletions
+15 -6
View File
@@ -100,29 +100,38 @@ Checksum::PseudoHeader(net_address_module_info *addressModule,
// is automatically freed at end of scope:
class AddressString {
public:
inline AddressString(net_domain *domain, const sockaddr *address,
AddressString(net_domain *domain, const sockaddr *address,
bool printPort = false)
: fBuffer(NULL)
{
domain->address_module->print_address(address, &fBuffer, printPort);
}
inline AddressString(net_domain *domain, const sockaddr &address,
AddressString(net_domain *domain, const sockaddr &address,
bool printPort = false)
: fBuffer(NULL)
{
domain->address_module->print_address(&address, &fBuffer, printPort);
}
inline ~AddressString()
AddressString(net_address_module_info *address_module,
const sockaddr *address, bool printPort = false)
: fBuffer(NULL)
{
free(fBuffer);
address_module->print_address(address, &fBuffer, printPort);
}
inline char *Data()
~AddressString()
{
if (fBuffer)
free(fBuffer);
}
const char *Data() const
{
return fBuffer;
}
private:
char *fBuffer;
};