summaryrefslogtreecommitdiff
path: root/src/misc.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-09-17 19:20:07 -0400
committerAdam <Adam@anope.org>2010-09-17 19:20:07 -0400
commit227909e2cf0039737dc52872651837fe5f1702b5 (patch)
treeb8a7072c7d938ea66d9710a48d717b3eb76343de /src/misc.cpp
parentf71fb6e8133da955a58b1cca00013ce20c0b65cc (diff)
Rejig of some of the socket stuff. Fixed marking sockets as nonblocking on Windows. Added in a LastError function to keep having to use strerror/GetLastError everywhere.
Diffstat (limited to 'src/misc.cpp')
-rw-r--r--src/misc.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/misc.cpp b/src/misc.cpp
index 225aac592..aad95e528 100644
--- a/src/misc.cpp
+++ b/src/misc.cpp
@@ -1305,3 +1305,18 @@ void Anope::Unhex(const Anope::string &src, char *dest)
}
dest[destpos] = 0;
}
+
+const Anope::string Anope::LastError()
+{
+#ifndef _WIN32
+ return LastError();
+#else
+ char errbuf[513];
+ DWORD err = GetLastError();
+ if (!err)
+ return NULL;
+ FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, 0, errbuf, 512, NULL);
+ return errbuf;
+#endif
+}
+