diff options
author | Adam <Adam@anope.org> | 2010-09-17 19:20:07 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-09-17 19:20:07 -0400 |
commit | 227909e2cf0039737dc52872651837fe5f1702b5 (patch) | |
tree | b8a7072c7d938ea66d9710a48d717b3eb76343de /src/misc.cpp | |
parent | f71fb6e8133da955a58b1cca00013ce20c0b65cc (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.cpp | 15 |
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 +} + |