Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Unified Diff: chrome/browser/sync/notifier/base/nethelpers.cc

Issue 194065: Initial commit of sync engine code to browser/sync.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Fixes to gtest include path, reverted syncapi. Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/notifier/base/nethelpers.cc
===================================================================
--- chrome/browser/sync/notifier/base/nethelpers.cc (revision 0)
+++ chrome/browser/sync/notifier/base/nethelpers.cc (revision 0)
@@ -0,0 +1,42 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/sync/notifier/base/nethelpers.h"
+
+namespace notifier {
+
+hostent* SafeGetHostByName(const char* hostname, hostent* host,
+ char* buffer, size_t buffer_len,
+ int* herrno) {
+ hostent* result = NULL;
+#if WIN32
+ result = gethostbyname(hostname);
+ if (!result) {
+ *herrno = WSAGetLastError();
+ }
+#elif OS_LINUX
+ gethostbyname_r(hostname, host, buffer, buffer_len, &result, herrno);
+#elif OSX
+ result = getipnodebyname(hostname, AF_INET, AI_DEFAULT, herrno);
+#else
+#error "I don't know how to do gethostbyname safely on your system."
+#endif
+ return result;
+}
+
+// This function should mirror the above function, and free any resources
+// allocated by the above.
+void FreeHostEnt(hostent* host) {
+#if WIN32
+ // No need to free anything, struct returned is static memory.
+#elif OS_LINUX
+ // No need to free anything, we pass in a pointer to a struct.
+#elif OSX
+ freehostent(host);
+#else
+#error "I don't know how to free a hostent on your system."
+#endif
+}
+
+} // namespace notifier
Property changes on: chrome\browser\sync\notifier\base\nethelpers.cc
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698