-#ifdef WIN32
-#include <windows.h>
-#include <msp/strings/lexicalcast.h>
-#else
-#include <cerrno>
-#include <cstring>
-#endif
+#include <limits>
#include "systemerror.h"
using namespace std;
code_(c)
{ }
-string system_error::get_message(int c)
-{
-#ifdef WIN32
- if(c==-1)
- c = GetLastError();
-
- char msg[1024];
- if(FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, 0, c, 0, msg, sizeof(msg), 0))
- return msg;
- else
- return lexical_cast(c, Fmt().hex());
-#else
- if(c==-1)
- c = errno;
-
- return strerror(c);
-#endif
-}
+system_error::system_error(const string &w, const string &e):
+ runtime_error(w+": "+e),
+ code_(numeric_limits<int>::min())
+{ }
} // namespace Msp